Мне нужно переместить письмо из списка из 5 писем, которые читает класс. Это письмо уже было обработано логическим образом, которое я создал, и соответствует условному. Проблема в том, что он перемещает эти 5 электронных писем, а некоторые не соответствуют условиям. Если почта, которая выполнила условие, может ввести данные в базу данных, ее необходимо переместить в папку обработанной почты, в противном случае ее необходимо переместить в папку ошибок.
Это класс, который получает электронные письма.
int bufferLength = 5;
int indiceMail = 0;
string from = "mail@gmail.com>";
do
{
emailList.getEmails(bufferLength);
while(indiceMail<emailList.emails.Count)
{
indiceMail++;
}
Console.WriteLine("Reading: {0}", emailList.emails.Count);
}while (emailList.MoreAvailable);
И это условие для перемещения писем
string bodyMail = emailList.emails[indiceMail].body;
match3 = Regex.Match(bodyMail, @"(?<=Status:) (\S+\b)");
statuscompare = match3.Value;
List<String> statusList = new List<string> { "i2", "i3", "i4", "i8" };
bool ex = false;
foreach (string item1 in statusList)
{
if (item1.Contains(statuscompare.Trim()))
{
ex = true;
if (item1.Contains("i4"))
{
bool moveEmail = false;
foreach (Email item in emailList.emails)
{
if (emailList.emails[indiceMail].body.Contains("i4"))
{
// if (item.body.Contains(item1))
//{
moveEmail = true;
emailList.moveMail(item.id, emailList.config.PathSuccess);
break;
// }
}
if (moveEmail)
{
continue;
}
}
}
}
}
Это часть класса для перемещения писем
public void moveMail(string emailId, string folderPath)
{
string folderId = getMailFolderId(folderPath);
EmailMessage message = EmailMessage.Bind(service, emailId);
message.Move(folderId);
}