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; }
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); }
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); } }
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; }
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); }
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); }
/// <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; }
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()); }
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; }
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)); }
public NewsService(IUsersService usersService, INewsProvider newsProvider, ICommentsService commentsService, ILoggerFactory loggerFactory, ICategoriesProvider categoriesProvider) { _newsProvider = newsProvider; _commentsService = commentsService; _categoriesProvider = categoriesProvider; _logger = loggerFactory.CreateLogger("NewsService"); _usersService = usersService; }
public CommentsService(IUsersService usersService, ICommentsProvider commentsProvider, ILongRandomGenerator randomGenerator, INewsProvider newsProvider, ILoggerFactory loggerFactory) { _usersService = usersService; _commentsProvider = commentsProvider; rand = randomGenerator; _newsProvider = newsProvider; _logger = loggerFactory.CreateLogger("NewsService"); }
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); }
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); }
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); }
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; }
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; }
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; }
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); }
/// <summary> /// Method that gets the events /// </summary> /// <returns>Collection of Atom Entry</returns> public Aggregator(IEventProvider[] eventProviders, INewsProvider[] newsProviders) { _eventProviders = eventProviders; _newsProviders = newsProviders; }
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; }
public BotService(IBotCommandProvider botCommandProvider, IConfiguration configuration, INewsProvider newsProvider) { _botCommandProvider = botCommandProvider; _configuration = configuration; _newsProvider = newsProvider; }
public GetNewsQuery(INewsProvider newsProvider) { this.newsProvider = newsProvider; }
/// <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; }
public NewsController(INewsProvider newsProvider) { this.newsProvider = newsProvider; }
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); } }
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); } }
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); }
public NewsController(INewsProvider news) { _news = news; }
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); }
public App(INewsProvider newsProvider, IKafkaProducer kafkaProducer) { this.newsProvider = newsProvider; this.kafkaProducer = kafkaProducer; }
public NewsManager([Named("MultiNews")] INewsProvider prov) { newsProvider = prov; }
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(); }
public NewsRepository(INewsProvider newsProvider) { _newsProvider = newsProvider; }