Пример #1
0
 public ArticlesController(IArticlesManager articlesManager, IMapper mapper, ICategoriesManager categoriesManager, IEnumManager enumManager, ILogChangesManager logChangesManager) : base(logChangesManager)
 {
     _articlesManager   = articlesManager;
     _mapper            = mapper;
     _categoriesManager = categoriesManager;
     _enumManager       = enumManager;
 }
Пример #2
0
        /// <summary>
        /// Executes the parsing task.
        /// </summary>
        public void Execute()
        {
            IContainer       container       = AutofacConfig.Container;
            IArticlesManager articlesManager = container.Resolve <IArticlesManager>();

            string pathToFiles = container.Resolve <IDirectoryDowloadConfiguration>().Directory;

            // Get downloaded emails.
            var files = Directory.GetFiles(pathToFiles, "*.*", SearchOption.AllDirectories);

            // Read emails and write content to DB.
            foreach (var file in files)
            {
                using (StreamReader sr = new StreamReader(file))
                {
                    EmailDto emailDto = EmailDtoFileWorker.GetEmailDto(sr);

                    try
                    {
                        // Parse email from Email Dto.
                        IParser parser = new ParserFactory().GetParser(emailDto, container);
                        if (parser == null)
                        {
                            continue;
                        }

                        ArticleDto articleDto = parser.Parse(emailDto.Subject, emailDto.Body);

                        // Write Article to DB.
                        Article article = Mapper.MapArticleDtoToArticle(articleDto);
                        article.EmailId = emailDto.MessageId;
                        articlesManager.Add(article);
                    }
                    catch (Exception ex)
                    {
                        var log = NLog.LogManager.GetLogger("database");
                        log.Fatal(ex, ex.Message);
                    }
                }
            }
        }
Пример #3
0
 public ArticlesController(IArticlesManager manager, ILogger <ArticlesController> logger)
 {
     _articlesManager = manager;
     _logger          = logger;
 }
Пример #4
0
 public ArticlesController(IArticlesManager articlesManager)
 {
     _articlesManager = articlesManager;
 }
Пример #5
0
 public ArticleApiController(IArticlesManager manager)
 {
     _manager = manager;
 }