/// <summary> /// Creates an <see cref="IEmailManager"/> /// </summary> /// <param name="emailFeedConfiguration"></param> /// <param name="factory"></param> /// <returns></returns> public static IEmailManager CreateEmailManager(this EmailFeedConfiguration emailFeedConfiguration, IEmailManagerFactory factory) { // get protocol var protocol = emailFeedConfiguration.Protocol ?? string.Empty; // compare protocol if (string.CompareOrdinal(protocol, ImapProtocol) == 0) return factory.CreateEmailManager(emailFeedConfiguration.Host, ImapPort, true, emailFeedConfiguration.UserName, emailFeedConfiguration.Password); throw new UnsupportedEmailProtocolException(protocol); }
/// <summary> /// Instantiates an <see cref="EmailFeed"/> /// </summary> /// <param name="emailManagerFactory"></param> /// <param name="marketDataRepositoryFactory"></param> /// <param name="emailFeedConfiguration"></param> public EmailFeed(IEmailManagerFactory emailManagerFactory, IMarketDataRepositoryFactory marketDataRepositoryFactory, EmailFeedConfiguration emailFeedConfiguration) { // set config _emailManagerFactory = emailManagerFactory; _marketDataRepositoryFactory = marketDataRepositoryFactory; _emailFeedConfiguration = emailFeedConfiguration; // create email manager _emailManager = _emailFeedConfiguration.CreateEmailManager(_emailManagerFactory); // set last polled time _lastPolled = _emailFeedConfiguration.LastChecked; // create timer _pollingTimer = new Timer(obj => RetrieveNewEmails()); }
/// <summary> /// Instantiates an <see cref="EmailFeedFactory"/> /// </summary> /// <param name="emailManagerFactory"></param> /// <param name="repositoryFactory"></param> public EmailFeedFactory(IEmailManagerFactory emailManagerFactory, IMarketDataRepositoryFactory repositoryFactory) { _emailManagerFactory = emailManagerFactory; _repositoryFactory = repositoryFactory; }
/// <summary> /// Creates an <see cref="IEmailManager"/> /// </summary> /// <param name="emailFeedConfiguration"></param> /// <param name="factory"></param> /// <returns></returns> public static IEmailManager CreateEmailManager(this EmailFeedConfiguration emailFeedConfiguration, IEmailManagerFactory factory) { // get protocol var protocol = emailFeedConfiguration.Protocol ?? string.Empty; // compare protocol if (string.CompareOrdinal(protocol, ImapProtocol) == 0) { return(factory.CreateEmailManager(emailFeedConfiguration.Host, ImapPort, true, emailFeedConfiguration.UserName, emailFeedConfiguration.Password)); } throw new UnsupportedEmailProtocolException(protocol); }