Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        public string LoadTradeFrom(string AFLT)
        {
            var url = string.Format("iss/engines/stock/markets/shares/securities/{0}/trades.json", AFLT);

            return(MoexDownloader.Load(url));
        }
Exemplo n.º 4
0
        static string LoadSecutiryFrom(int start)
        {
            var url = string.Format("iss/securities.json?start={0}", start);

            return(MoexDownloader.Load(url));
        }
Exemplo n.º 5
0
        public string LoadPriceFrom(int start)
        {
            var url = string.Format("iss/statistics/engines/stock/currentprices.json?start={0}", start);

            return(MoexDownloader.Load(url));
        }
Exemplo n.º 6
0
        public string LoadSecutiryFrom(int start)
        {
            var url = "iss/engines/stock/markets/shares/boards/TQBR/securities.json";

            return(MoexDownloader.Load(url));
        }
Exemplo n.º 7
0
        public string LoadSecutiryFrom(string start)
        {
            var url = string.Format("iss/engines/stock/markets/shares/boards/TQBR/securities/{0}.json", start);

            return(MoexDownloader.Load(url));
        }