Пример #1
0
 protected StrategyBase(string name, string description)
 {
     this.metaStrategyBase = null;
     this.name             = name;
     this.description      = description;
     this.isEnabled        = true;
     this.isActive         = true;
     this.ReportManager    = (StrategyComponentManager.GetComponent("{5E7810DC-C9C1-427f-8CD9-1DFFE26E59B5}", this) as ReportManager);
     this.MarketManager    = (StrategyComponentManager.GetComponent("{849E4CFE-C19E-4d1e-899D-0BB26DB12AAD}", this) as MarketManager);
     this.portfolio        = PortfolioManager.Portfolios[name];
     if (this.portfolio == null)
     {
         this.portfolio = new Portfolio(name);
     }
     this.tester             = new LiveTester(this.portfolio);
     this.stops              = new StopList();
     this.triggers           = new TriggerList();
     this.marketDataProvider = null;
     this.executionProvider  = null;
     this.newsProvider       = null;
     this.executionService   = null;
     this.orders             = new OrderTable();
     this.global             = new Hashtable();
     this.activeInstruments  = new InstrumentList();
     this.barSliceManager    = new BarSliceManager();
     this.componentTypeList  = new List <ComponentType>();
     this.componentTypeList.Add(ComponentType.MarketManager);
     this.componentTypeList.Add(ComponentType.ReportManager);
     this.activeStops = new Dictionary <Instrument, List <StopBase> >();
     this.portfolios  = new Dictionary <Instrument, Portfolio>();
     this.testers     = new Dictionary <Instrument, LiveTester>();
     this.statisticsPerInstrumentEnabled = false;
 }
Пример #2
0
        private IEnumerable <INews> GenerateNews(INewsProvider newsProvider, XmlReader xmlReader)
        {
            if (newsProvider == null)
            {
                throw new ArgumentNullException(nameof(newsProvider));
            }
            if (xmlReader == null)
            {
                throw new ArgumentNullException(nameof(xmlReader));
            }

            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.Load(xmlReader);

            IList <INews> news = new List <INews>();

            XmlNodeList items = xmlDocument.SelectNodes("/rss/channel/item");

            foreach (XmlNode item in items)
            {
                try
                {
                    news.Add(GenerateNews(newsProvider, item));
                }
                catch (Exception ex)
                {
                    _exceptionHandler.HandleAsync(ex).GetAwaiter().GetResult();
                }
            }

            return(news);
        }
Пример #3
0
        private INews GenerateNews(INewsProvider newsProvider, XmlNode item)
        {
            if (newsProvider == null)
            {
                throw new ArgumentNullException(nameof(newsProvider));
            }
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }

            try
            {
                string title       = ReadChildNodeValue(item, "title");
                string description = ReadChildNodeValue(item, "description");
                string pubDate     = ReadChildNodeValue(item, "pubDate");
                string link        = ReadChildNodeValue(item, "link");
                string guid        = ReadChildNodeValue(item, "guid");

                return(new News(
                           GenerateIdentifier(guid),
                           GenerateContent(title),
                           GenerateContent(description),
                           GenerateTimestamp(pubDate),
                           newsProvider)
                {
                    Link = GenerateUri(link),
                    Author = ExtractAuthor(item)
                });
            }
            catch (Exception ex)
            {
                throw new Exception($"Unable to generate and add news for the item '{item.OuterXml}': {ex.Message}", ex);
            }
        }
Пример #4
0
 protected StrategyBase(string name, string description)
 {
     this.metaStrategyBase = (MetaStrategyBase)null;
     this.name             = name;
     this.description      = description;
     this.isEnabled        = true;
     this.isActive         = true;
     this.ReportManager    = StrategyComponentManager.GetComponent("getcom", (object)this) as ReportManager;
     this.MarketManager    = StrategyComponentManager.GetComponent("getcom", (object)this) as MarketManager;
     this.portfolio        = PortfolioManager.Portfolios[name];
     if (this.portfolio == null)
     {
         this.portfolio = new Portfolio(name);
     }
     this.tester             = new LiveTester(this.portfolio);
     this.stops              = new StopList();
     this.triggers           = new TriggerList();
     this.marketDataProvider = (IMarketDataProvider)null;
     this.executionProvider  = (IExecutionProvider)null;
     this.newsProvider       = (INewsProvider)null;
     this.executionService   = (IExecutionService)null;
     this.orders             = new OrderTable();
     this.global             = new Hashtable();
     this.activeInstruments  = new InstrumentList();
     this.barSliceManager    = new BarSliceManager();
     this.componentTypeList  = new List <ComponentType>();
     this.componentTypeList.Add(ComponentType.MarketManager);
     this.componentTypeList.Add(ComponentType.ReportManager);
     this.activeStops = new Dictionary <Instrument, List <StopBase> >();
     this.portfolios  = new Dictionary <Instrument, Portfolio>();
     this.testers     = new Dictionary <Instrument, LiveTester>();
     this.statisticsPerInstrumentEnabled = false;
 }
Пример #5
0
        public NewsPanel(INativeGraphicsManager nativeGraphicsManager,
                         IChatRenderableGenerator chatRenderableGenerator,
                         INewsProvider newsProvider,
                         SpriteFont chatFont)
        {
            _nativeGraphicsManager   = nativeGraphicsManager;
            _chatRenderableGenerator = chatRenderableGenerator;
            _newsProvider            = newsProvider;

            //abs coordiantes: 568 331
            _scrollBar = new ScrollBar(new Vector2(467, 20), new Vector2(16, 97), ScrollBarColors.LightOnMed, _nativeGraphicsManager)
            {
                LinesToRender = 7,
                Visible       = true
            };
            _scrollBar.SetParentControl(this);

            _chatRenderables = new List <IChatRenderable>();
            _chatFont        = chatFont;

            _cachedNewsStrings   = new List <string>();
            _cachedScrollOffset  = -1;
            _cachedLinesToRender = -1;

            BackgroundImage = _nativeGraphicsManager.TextureFromResource(GFXTypes.PostLoginUI, 48);
            DrawArea        = new Rectangle(102, 330, BackgroundImage.Width, BackgroundImage.Height);
        }
Пример #6
0
        public IEnumerable <NewsSource> GetSources()
        {
            string            key = op.Value.Cache.NewsSourcesKey;
            List <NewsSource> sources;

            if (cache.TryGetValue(key, out sources))
            {
                return(sources);
            }

            sources = new List <NewsSource>();

            List <NewsProviderDef> providers = db.NewsProviderDefs.AsNoTracking().Where(x => !x.Locked).ToList();

            providers
            .ForEach(x =>
            {
                INewsProvider provider = factory.GetProvider(x);
                sources.AddRange(provider.GetSources());
            });

            sources = sources.OrderBy(x => x.NewsSourceId).ToList();


            cache.Set(key, sources,
                      new MemoryCacheEntryOptions()
                      .SetAbsoluteExpiration(TimeSpan.FromMinutes(op.Value.Cache.NewsSourcesRefreshInterval)));

            return(sources);
        }
Пример #7
0
 /// <summary>
 /// Public constructor used for dependencies injection
 /// </summary>
 /// <param name="rssSourcesProvider">RSS Sources prodiver instance</param>
 /// <param name="newsProvider">New provider instance</param>
 /// <param name="storage">Storage provider instance</param>
 /// <param name="parser">Parser provider instance</param>
 public SourcesController(IRssSourcesProvider rssSourcesProvider, INewsProvider newsProvider,
     IContentStorage storage, IParserProvider parser)
 {
     _rssSourcesProvider = rssSourcesProvider;
     _newsProvider = newsProvider;
     _contentStorage = storage;
     _newsParser = parser;
 }
Пример #8
0
 private void AssertNewsProvider(INewsProvider newsProvider, string name, string url)
 {
     Assert.IsNotNull(newsProvider);
     Assert.IsNotNull(newsProvider.Name);
     Assert.AreEqual(name, newsProvider.Name);
     Assert.IsNotNull(newsProvider.Uri);
     Assert.AreEqual(url, newsProvider.Uri.ToString());
 }
Пример #9
0
 public News(string identifier, string inforamtion, string details, DateTime timestamp, INewsProvider provider) : base(identifier, inforamtion, details, timestamp)
 {
     if (provider == null)
     {
         throw new ArgumentNullException(nameof(provider));
     }
     Provider = provider;
 }
Пример #10
0
        private async Task <IEnumerable <INews> > GetNewsFromNewsProviderAsync(INewsProvider newsProvider)
        {
            if (newsProvider == null)
            {
                throw new ArgumentNullException(nameof(newsProvider));
            }

            try
            {
                try
                {
                    EnsureSecurityProtocol(SecurityProtocolType.Tls11);
                    EnsureSecurityProtocol(SecurityProtocolType.Tls12);
                    using (HttpClientHandler clientHandler = new HttpClientHandler {
                        ClientCertificateOptions = ClientCertificateOption.Automatic
                    })
                    {
                        clientHandler.ServerCertificateCustomValidationCallback = (message, certificate, chain, errors) => errors == SslPolicyErrors.None;
                        using (HttpClient client = new HttpClient(clientHandler))
                        {
                            using (HttpResponseMessage responseMessage = await client.GetAsync(newsProvider.Uri))
                            {
                                if (responseMessage.IsSuccessStatusCode == false)
                                {
                                    return(new List <INews>(0));
                                }
                                using (Stream responseStream = await responseMessage.Content.ReadAsStreamAsync())
                                {
                                    XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
                                    using (XmlReader xmlReader = XmlReader.Create(responseStream, xmlReaderSettings))
                                    {
                                        return(GenerateNews(newsProvider, xmlReader));
                                    }
                                }
                            }
                        }
                    }
                }
                catch (HttpRequestException ex)
                {
                    StringBuilder messageBuilder = new StringBuilder($"Unable to communicate with {newsProvider.Name} ({newsProvider.Uri}): {ex.Message}");

                    Exception baseException = ex.GetBaseException();
                    if (baseException != null)
                    {
                        messageBuilder.Append($" ({baseException.Message})");
                    }

                    throw new Exception(messageBuilder.ToString(), ex);
                }
            }
            catch (Exception ex)
            {
                await _exceptionHandler.HandleAsync(ex);
            }
            return(new List <INews>(0));
        }
Пример #11
0
 public NewsService(IUsersService usersService,
                    INewsProvider newsProvider,
                    ICommentsService commentsService,
                    ILoggerFactory loggerFactory,
                    ICategoriesProvider categoriesProvider)
 {
     _newsProvider       = newsProvider;
     _commentsService    = commentsService;
     _categoriesProvider = categoriesProvider;
     _logger             = loggerFactory.CreateLogger("NewsService");
     _usersService       = usersService;
 }
Пример #12
0
 public CommentsService(IUsersService usersService,
                        ICommentsProvider commentsProvider,
                        ILongRandomGenerator randomGenerator,
                        INewsProvider newsProvider,
                        ILoggerFactory loggerFactory)
 {
     _usersService     = usersService;
     _commentsProvider = commentsProvider;
     rand          = randomGenerator;
     _newsProvider = newsProvider;
     _logger       = loggerFactory.CreateLogger("NewsService");
 }
Пример #13
0
        public async Task BuildAsync_WhenCalled_AssertConvertNewLinesWasCalledOnHtmlHelperWithNameOfProvider()
        {
            string        providerName = Guid.NewGuid().ToString("D");
            INewsProvider provider     = CreateNewsProvider(providerName);
            INews         news         = CreateNews(provider: provider);

            IViewModelBuilder <InformationViewModel, INews> sut = CreateSut();

            await sut.BuildAsync(news);

            _htmlHelperMock.Verify(m => m.ConvertNewLines(It.Is <string>(value => value == providerName)), Times.Once);
        }
Пример #14
0
        public async Task ExportAsync_WhenNewsIsWithProvider_ReturnsDashboardItemExportModelWithProviderFromNews()
        {
            IModelExporter <DashboardItemExportModel, INews> sut = CreateSut();

            string                   name         = Guid.NewGuid().ToString("D");
            INewsProvider            newsProvider = BuildNewsProvider(name);
            INews                    news         = BuildNews(newsProvider: newsProvider);
            DashboardItemExportModel result       = await sut.ExportAsync(news);

            Assert.IsNotNull(result);
            Assert.AreEqual(name, result.Provider);
        }
Пример #15
0
        public INewsProvider GetProvider(NewsProviderDef providerDef)
        {
            INewsProvider provider = null;

            if (us.StrsEqual(providerDef.Name, "newsapi.org"))
            {
                provider = new NewsApiProvider(providerDef, ds, us);
                return(provider);
            }

            provider = new RssProvider(providerDef, db, us);
            return(provider);
        }
Пример #16
0
 public AccountController(INewsProvider newsProvider,
                          ICategoriesProvider categoriesProvider,
                          INewsService newsService,
                          IUsersService userService,
                          IProfileService profileService,
                          UserManager <Account> userManager,
                          SignInManager <Account> signInManager,
                          ILongRandomGenerator rand)
 {
     _newsProvider       = newsProvider;
     _categoriesProvider = categoriesProvider;
     _newsService        = newsService;
     _userService        = userService;
     _profileService     = profileService;
     _userManager        = userManager;
     _signInManager      = signInManager;
     _rand = rand;
 }
Пример #17
0
 public ContentManagerController(INewsProvider newsProvider,
                                 ICategoriesProvider categoriesProvider,
                                 INewsService newsService,
                                 IUsersService userService,
                                 IProfileService profileService,
                                 UserManager <Account> userManager,
                                 SignInManager <Account> signInManager,
                                 IHostingEnvironment hostingEnvironment,
                                 ILongRandomGenerator rand,
                                 IConfiguration configuration)
 {
     _newsProvider       = newsProvider;
     _categoriesProvider = categoriesProvider;
     _newsService        = newsService;
     _userService        = userService;
     _profileService     = profileService;
     _userManager        = userManager;
     _signInManager      = signInManager;
     _rand = rand;
     _hostingEnvironment = hostingEnvironment;
     Configuration       = configuration;
 }
Пример #18
0
 public HudPanelFactory(INativeGraphicsManager nativeGraphicsManager,
                        IContentManagerProvider contentManagerProvider,
                        IHudControlProvider hudControlProvider,
                        INewsProvider newsProvider,
                        IChatProvider chatProvider,
                        ICharacterProvider characterProvider,
                        ICharacterInventoryProvider characterInventoryProvider,
                        IExperienceTableProvider experienceTableProvider,
                        IEOMessageBoxFactory messageBoxFactory,
                        ITrainingController trainingController)
 {
     _nativeGraphicsManager      = nativeGraphicsManager;
     _contentManagerProvider     = contentManagerProvider;
     _hudControlProvider         = hudControlProvider;
     _newsProvider               = newsProvider;
     _chatProvider               = chatProvider;
     _characterProvider          = characterProvider;
     _characterInventoryProvider = characterInventoryProvider;
     _experienceTableProvider    = experienceTableProvider;
     _messageBoxFactory          = messageBoxFactory;
     _trainingController         = trainingController;
 }
Пример #19
0
        public List <Link> GetArticles(long?newsProviderId, string newsSourceId)
        {
            if (us.Empty(newsSourceId) || !newsProviderId.HasValue)
            {
                return(null);
            }

            NewsProviderDef providerDef = ProviderDefs.FirstOrDefault(x => x.Id == newsProviderId.Value);

            if (providerDef == null)
            {
                return(null);
            }

            INewsProvider provider = factory.GetProvider(providerDef);

            if (provider == null)
            {
                return(null);
            }

            string key = op.Value.Cache.NewsSourceKey + newsProviderId.Value + newsSourceId;

            List <Link> result;

            if (cache.TryGetValue(key, out result))
            {
                return(result);
            }


            result = provider.GetLinks(newsSourceId).ToList();

            cache.Set(key, result,
                      new MemoryCacheEntryOptions()
                      .SetAbsoluteExpiration(TimeSpan.FromMinutes(op.Value.Cache.NewsArticlesRefreshInterval)));

            return(result);
        }
Пример #20
0
 /// <summary>
 /// Method that gets the events
 /// </summary>
 /// <returns>Collection of Atom Entry</returns>
 public Aggregator(IEventProvider[] eventProviders, INewsProvider[] newsProviders)
 {
     _eventProviders = eventProviders;
     _newsProviders = newsProviders;
 }
Пример #21
0
    protected StrategyBase(string name, string description)
    {
      this.metaStrategyBase = (MetaStrategyBase) null;
      this.name = name;
      this.description = description;
      this.isEnabled = true;
      this.isActive = true;
			this.ReportManager = StrategyComponentManager.GetComponent("getcom", (object) this) as ReportManager;
			this.MarketManager = StrategyComponentManager.GetComponent("getcom", (object) this) as MarketManager;
      this.portfolio = PortfolioManager.Portfolios[name];
      if (this.portfolio == null)
        this.portfolio = new Portfolio(name);
      this.tester = new LiveTester(this.portfolio);
      this.stops = new StopList();
      this.triggers = new TriggerList();
      this.marketDataProvider = (IMarketDataProvider) null;
      this.executionProvider = (IExecutionProvider) null;
      this.newsProvider = (INewsProvider) null;
      this.executionService = (IExecutionService) null;
      this.orders = new OrderTable();
      this.global = new Hashtable();
      this.activeInstruments = new InstrumentList();
      this.barSliceManager = new BarSliceManager();
      this.componentTypeList = new List<ComponentType>();
      this.componentTypeList.Add(ComponentType.MarketManager);
      this.componentTypeList.Add(ComponentType.ReportManager);
      this.activeStops = new Dictionary<Instrument, List<StopBase>>();
      this.portfolios = new Dictionary<Instrument, Portfolio>();
      this.testers = new Dictionary<Instrument, LiveTester>();
      this.statisticsPerInstrumentEnabled = false;
    }
Пример #22
0
 public BotService(IBotCommandProvider botCommandProvider, IConfiguration configuration, INewsProvider newsProvider)
 {
     _botCommandProvider = botCommandProvider;
     _configuration      = configuration;
     _newsProvider       = newsProvider;
 }
Пример #23
0
 public GetNewsQuery(INewsProvider newsProvider)
 {
     this.newsProvider = newsProvider;
 }
Пример #24
0
 /// <summary>
 /// Public constructor used for dependencies injection
 /// </summary>
 /// <param name="newsProvider">News provider instance</param>
 /// <param name="rssSourcesProvider">Rss sources provider instance</param>
 public NewsHub(INewsProvider newsProvider, IRssSourcesProvider rssSourcesProvider)
 {
     _newsProvider = newsProvider;
     _rssSourcesProvider = rssSourcesProvider;
 }
Пример #25
0
 public NewsController(INewsProvider newsProvider)
 {
     this.newsProvider = newsProvider;
 }
Пример #26
0
        private void GetServerNews()
        {
            IConfiguration config       = ConfigurationManager.GetConfiguration(ProfileManager.CurrentProfile.GameModel);
            INewsProvider  newsProvider = config.CreateNewsProvider();

            if (newsProvider != null)
            {
                List <NewsItem> news = new List <NewsItem>();
                try {
                    foreach (NewsItem item in newsProvider.GetNews())
                    {
                        news.Add(new NewsItem(item));
                    }
                } catch (WebException e) {
                    news = new List <NewsItem>();
                    news.Add(new NewsItem()
                    {
                        Subject = e.Message,
                        Content = e.Message,
                        Date    = DateTime.Now.ToString(),
                        Mode    = "NOTICE"
                    });
                }

                this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new DoAddServerNews((s) => {
                    Rect viewbox;
                    string mode;
                    foreach (NewsItem n in news)
                    {
                        mode = n.Mode;
                        if (mode == "NOTICE")
                        {
                            viewbox = new Rect(215, 54, 90, 18);
                            mode    = LanguageManager.Model[e => e.NewsType_Notice];
                        }
                        else if (mode == "EVENT")
                        {
                            viewbox = new Rect(215, 36, 90, 18);
                            mode    = LanguageManager.Model[e => e.NewsType_Event];
                        }
                        else if (mode == "PATCH")
                        {
                            viewbox = new Rect(215, 0, 90, 18);
                            mode    = LanguageManager.Model[e => e.NewsType_Patch];
                        }
                        else
                        {
                            viewbox = new Rect(215, 0, 90, 18);
                        }
                        ServerNews.Add(new ServerNewsItemViewModel(LanguageManager)
                        {
                            Title    = n.Subject,
                            Content  = n.Content,
                            Date     = string.IsNullOrEmpty(n.Date) ? null : (DateTime?)DateTime.ParseExact(n.Date, "MM-dd-yyyy", CultureInfo.InvariantCulture),
                            TypeName = mode,
                            Link     = n.Url,
                            ImgVB    = viewbox
                        });
                    }
                }), news);
            }
        }
Пример #27
0
        private async Task BuildAsync_WhenCalled_ReturnsInitializedInformationViewModel(bool hasLink, bool hasAuthor, bool hasImage)
        {
            string        identifier   = Guid.NewGuid().ToString("D");
            DateTime      timestamp    = DateTime.Now.AddTicks(_random.Next(-5000, 5000));
            string        information  = Guid.NewGuid().ToString("D");
            string        details      = Guid.NewGuid().ToString("D");
            string        providerName = Guid.NewGuid().ToString("D");
            INewsProvider provider     = CreateNewsProvider(providerName);
            Uri           link         = hasLink ? new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}") : null;
            string        authorName   = hasAuthor ? null : Guid.NewGuid().ToString("D");
            INews         news         = CreateNews(
                identifier,
                timestamp,
                information,
                details,
                provider,
                link,
                string.IsNullOrWhiteSpace(authorName) == false ? CreateAuthor(authorName) : null);

            Uri imageUrl = null;

            if (hasImage)
            {
                imageUrl = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}");
            }
            IViewModelBuilder <InformationViewModel, INews> sut = CreateSut(imageUrl: imageUrl);

            InformationViewModel result = await sut.BuildAsync(news);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.InformationIdentifier);
            Assert.AreEqual(identifier, result.InformationIdentifier);
            Assert.AreEqual(timestamp, result.Timestamp);
            Assert.IsNotNull(result.Header);
            Assert.AreEqual($"HtmlHelper.ExtractImages:HtmlHelper.Convert:{information}", result.Header);
            Assert.IsNull(result.Summary);
            Assert.IsNotNull(result.Details);
            Assert.AreEqual($"HtmlHelper.ExtractImages:HtmlHelper.Convert:{details}", result.Details);
            Assert.IsNotNull(result.Provider);
            Assert.AreEqual($"HtmlHelper.ConvertNewLines:{providerName}", result.Provider);
            if (string.IsNullOrWhiteSpace(authorName) == false)
            {
                Assert.IsNotNull(result.Author);
                Assert.AreEqual($"HtmlHelper.ConvertNewLines:{authorName}", result.Author);
            }
            else
            {
                Assert.IsNull(result.Author);
            }
            if (link != null)
            {
                Assert.IsNotNull(result.ExternalUrl);
                Assert.AreEqual(link.AbsoluteUri, result.ExternalUrl);
            }
            else
            {
                Assert.IsNotNull(result.ExternalUrl);
                Assert.AreEqual("#", result.ExternalUrl);
            }
            if (imageUrl != null)
            {
                Assert.IsNotNull(result.ImageUrl);
                Assert.AreEqual(imageUrl.AbsoluteUri, result.ImageUrl);
            }
            else
            {
                Assert.IsNull(result.ImageUrl);
            }
        }
Пример #28
0
 private INews CreateNews(string identifier = null, DateTime?timestamp = null, string information = null, string details = null, INewsProvider provider = null, Uri link = null, IAuthor author = null)
 {
     return(CreateNewsMock(identifier, timestamp, information, details, provider, link, author).Object);
 }
Пример #29
0
 public NewsController(INewsProvider news)
 {
     _news = news;
 }
Пример #30
0
        private Mock <INews> CreateNewsMock(string identifier = null, DateTime?timestamp = null, string information = null, string details = null, INewsProvider provider = null, Uri link = null, IAuthor author = null)
        {
            Mock <INews> newsMock = new Mock <INews>();

            newsMock.Setup(m => m.Identifier)
            .Returns(identifier);
            newsMock.Setup(m => m.Timestamp)
            .Returns(timestamp ?? DateTime.Now);
            newsMock.Setup(m => m.Information)
            .Returns(information);
            newsMock.Setup(m => m.Details)
            .Returns(details);
            newsMock.Setup(m => m.Provider)
            .Returns(provider ?? CreateNewsProvider());
            newsMock.Setup(m => m.Link)
            .Returns(link);
            newsMock.Setup(m => m.Author)
            .Returns(author);
            return(newsMock);
        }
Пример #31
0
 public App(INewsProvider newsProvider, IKafkaProducer kafkaProducer)
 {
     this.newsProvider  = newsProvider;
     this.kafkaProducer = kafkaProducer;
 }
Пример #32
0
 public NewsManager([Named("MultiNews")] INewsProvider prov)
 {
     newsProvider = prov;
 }
Пример #33
0
        public MainViewModel(
            ILogger logger,
            ISettingsProvider settingsProvider,
            INewsProvider newsProvider,
            IHelpProvider helpProvider,
            IServerListProvider serverListProvider,
            IStatisticsProvider statisticsProvider,
            IServerStatusProvider serverStatusProvider,
            INotificationService notificationService,
            ISelfUpdateService selfUpdateService,
            IGameBackupService gameBackupService,
            IServerHostProvider serverHostProvider,
            ITroubleshootProvider troubleshootProvider,
            IProtocolGameLauncherService protocolGameLauncherService)
        {
            _logger               = logger;
            _settingsProvider     = settingsProvider;
            _newsProvider         = newsProvider;
            _helpProvider         = helpProvider;
            _serverListProvider   = serverListProvider;
            _statisticsProvider   = statisticsProvider;
            _serverStatusProvider = serverStatusProvider;
            _selfUpdateService    = selfUpdateService;
            _serverHostProvider   = serverHostProvider;
            _troubleshootProvider = troubleshootProvider;
            NotificationService   = notificationService;

            LoadTheme(_settingsProvider.GetCurrentSettings().DarkTheme);

            AboutCommand = new RelayCommand(AboutButtonClicked);
            LaunchButtonClickedCommand     = new RelayCommand(LaunchButtonClicked);
            BrowseGameFileCommand          = new RelayCommand(BrowseGameFileClicked);
            BrowseServerFileCommand        = new RelayCommand(BrowseServerFileClicked);
            ApplySettingsCommand           = new RelayCommand(ApplySettingsClicked);
            BrowseResourceDirectoryCommand = new RelayCommand(BrowseResourceDirectoryClicked);
            OpenServerSettingsXmlCommand   = new RelayCommand(EditServerSettingsXmlClicked);
            StartServerCommand             = new RelayCommand(StartServerClicked);
            StopServerCommand            = new RelayCommand(StopServerClicked);
            RestartServerCommand         = new RelayCommand(RestartServerClicked);
            RemoveNotificationCommand    = new RelayCommand <Notification>(RemoveNotificationClicked);
            ServerListTabGotFocusCommand = new RelayCommand <ServerBrowserViewModel>(ServerListTabGotFocus);

            ServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>();

            VerifiedServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>();
            VerifiedServerListViewModel.ServerFilter = s => s.IsVerified;

            FavoriteServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>();
            FavoriteServerListViewModel.ServerFilter = s => s.IsFavorited;

            LocalServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>();
            LocalServerListViewModel.ServerFilter = s => s.LAN;

            RecentServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>();
            RecentServerListViewModel.ServerFilter = s => s.IsRecent;

            _serverListProvider.FavoritedServersUpdated += ServerListProviderOnFavoritedServersUpdated;
            _settingsProvider.SettingsSaved             += SettingsSaved;

            CheckForUpdate();
            GetNews();
            GetTroubleshooting();
            GetHelpItems();
            GetStatistics();
            GetServerStatus();

            if (_settingsProvider.GetCurrentSettings().AskToBackUpGame)
            {
                gameBackupService.CheckBackupStatus();
            }

            protocolGameLauncherService.CheckIfLaunchArgumentExists();
            protocolGameLauncherService.TryVerifyProtocolRegistration();

            EnsureEula();
        }
Пример #34
0
 public NewsRepository(INewsProvider newsProvider)
 {
     _newsProvider = newsProvider;
 }