public List <EmailThread> GetEmailThreads(string query) { var emailThreads = new List <EmailThread>(); var messageThreads = GetMessageThreads(query); foreach (var thread in messageThreads.Threads) { var emailThread = new EmailThread(); var fullThread = GetMessageThread(thread.Id); _logger.LogInformation($"Process thread, Id={fullThread.Id}, MessageCount={fullThread.Messages.Count}"); foreach (var message in fullThread.Messages) { var fullMessage = GetMessage(message.Id); _logger.LogInformation($"Process message, Id={message.Id}"); try { emailThread.Emails.Add(ProcessMessage(fullMessage)); } catch (Exception e) { _logger.LogError(e, "Message parsing error"); } } emailThreads.Add(emailThread); } return(emailThreads); }
public MainClass() { mainService = new MainService(this); mainService.ServiceName = "Sync VOD"; mainService.MessageLog += mainService_MessageLog; mainService.OnGetConfig += mainService_OnGetConfig; mainService.OnSetConfig += mainService_OnSetConfig; #region Lấy cấu hình var location = System.Reflection.Assembly.GetEntryAssembly().Location; var directoryPath = Path.GetDirectoryName(location); config = new Config(); configPath = Path.Combine(directoryPath, "VODConfig.xml"); if (File.Exists(configPath)) { try { config = Utils.GetObject <Config>(configPath); } catch (Exception ex) { AddLog("Lỗi đọc cấu hình:" + ex.Message); } } #endregion thrEmail = new EmailThread(this); thrEmail.OnBusyChanged += thread_OnBusyChanged; mainService.AddThread(new ServiceInfo(this)); mainService.AddThread(new ImportAsRunLog(this)); mainService.AddThread(new ExportVOD(this)); Begin(); }