Example #1
0
        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);
        }
Example #2
0
        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();
        }