private static Program Instance(ProgramArguments args, ILogger logger, IDeCorrespondentResources decorrespondent, FileConfig config) { var reader = new ArticleReader(); var renderer = string.IsNullOrEmpty(config.EvoPdfLicenseKey) ? new HtmlArticleRenderer(logger, config.ArticleRendererConfig) : new PdfArticleRenderer(logger, config.ArticleRendererConfig, config.EvoPdfLicenseKey) as IArticleRenderer; var lastIdDs = new FileLastDatasource(); var mailer = new SmtpMailer(logger, config.SmtpMailConfig); var kindle = new KindleEmailSender(logger, config.KindleEmailSenderConfig, mailer); var summarySender = new EmailNotificationSender(logger, mailer, config.EmailNotificationSenderConfig); return new Program(args, logger, reader, renderer, decorrespondent, lastIdDs, kindle, summarySender, config.MaxAantalArticles); }
private static ProgramWrapper CreateProgram(IResourceReader resources, DateTime? lastId = null) { var logger = new LogWrapper(new ConsoleLogger(true)); var config = FileConfig.Load(@"..\..\config-test.xml"); var mailer = new SmtpMailer(logger, config.SmtpMailConfig); var r = new WrappedResources(resources); return new ProgramWrapper(logger, r, new ArticleReader(), new PdfArticleRenderer(logger, config, config.EvoPdfLicenseKey), new DeCorrespondentResources(r, logger), new KindleEmailSender(logger, config.KindleEmailSenderConfig, mailer), new EmailNotificationSender(logger, mailer, config.EmailNotificationSenderConfig), lastId ); }