/// <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);
        }
Ejemplo n.º 2
0
        /// <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());
        }
Ejemplo n.º 3
0
        /// <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());
        }
Ejemplo n.º 4
0
 /// <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;
 }
Ejemplo n.º 5
0
 /// <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);
        }