public static IHostBuilder CreateHostBuilder(string[] args) { return(Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile("appsettings.json", optional: true, true); config.AddEnvironmentVariables(); if (args != null) { config.AddCommandLine(args); } }) .ConfigureServices((hostContext, services) => { services.AddOptions(); var nLogConfig = hostContext.Configuration.GetSection("NLog"); LogManager.Configuration = new NLogLoggingConfiguration(nLogConfig); ILogger logger = LogManager.GetCurrentClassLogger(); services.AddSingleton(logger); services.Configure <AlgorithmServiceConfige>(hostContext.Configuration.GetSection("AlgorithmServiceConfige")); var dataProvider = hostContext.Configuration.GetSection("DataProvider").Get <DataProvider>(); IMapper mapper = DownloaderProvider.AutoMapperConfiguration.Configure().CreateMapper(); IServiceActions serviceActions = new ServiceActions(dataProvider.KarmaDownloader, mapper); ITaskActions taskActions = new TaskActions(dataProvider.KarmaDownloader, mapper); IMapper cbrDownloaderMapper = CbrDownloader.AutoMapperConfiguration.Configure().CreateMapper(); ICbrDownloader cbrDownloader = new CbrProvider(logger, cbrDownloaderMapper); IMapper moexMapper = MoexProvider.AutoMapperConfiguration.Configure().CreateMapper(); IMoexDownloader moexDownloader = new MoexDownloader(moexMapper, logger); IXmlSaver xmlSaver = new XmlSaver.XmlSaver(); ICsvSaver csvSaver = new CsvSaver.CsvSaver(); IConverterFactory converterFactory = new ConverterFactory(); IMapper saverMurrMapper = SaverMurrData.AutoMapperConfiguration.Configure().CreateMapper(); ISaverMurrData saverMurrData = new SaverMurrProvider(logger, saverMurrMapper, dataProvider.KarmaSaver); ICalculationFactory calculationFactory = new CalculationFactory(logger, taskActions, cbrDownloader, moexDownloader, xmlSaver, csvSaver, converterFactory, saverMurrData); services.AddSingleton <IAlgorithmServiceProvider>(new AlgorithmServiceProvider(taskActions, serviceActions, logger, calculationFactory)); var schedulerMapper = DownloaderProvider.AutoMapperConfiguration.Configure().CreateMapper(); services.AddSingleton <IServiceActions>(new ServiceActions(dataProvider.KarmaDownloader, schedulerMapper)); services.AddHostedService <Worker>(); }).UseWindowsService()); }
public string LoadHistoriesFrom(string secId, string from, string till) { var url = string.Format("iss/history/engines/stock/markets/shares/boards/TQBR/securities/{0}.json?from={1}&till={2}", secId, from, till); return(MoexDownloader.Load(url)); }
public string LoadTradeFrom(string AFLT) { var url = string.Format("iss/engines/stock/markets/shares/securities/{0}/trades.json", AFLT); return(MoexDownloader.Load(url)); }
static string LoadSecutiryFrom(int start) { var url = string.Format("iss/securities.json?start={0}", start); return(MoexDownloader.Load(url)); }
public string LoadPriceFrom(int start) { var url = string.Format("iss/statistics/engines/stock/currentprices.json?start={0}", start); return(MoexDownloader.Load(url)); }
public string LoadSecutiryFrom(int start) { var url = "iss/engines/stock/markets/shares/boards/TQBR/securities.json"; return(MoexDownloader.Load(url)); }
public string LoadSecutiryFrom(string start) { var url = string.Format("iss/engines/stock/markets/shares/boards/TQBR/securities/{0}.json", start); return(MoexDownloader.Load(url)); }