示例#1
0
        public ShowFuelInstHhCur(Options opts)
        {
            var taskHelper = SystemTaskHelper.Instance;
            var dir        = new SystemDirectory(taskHelper, opts.DataDirectory);

            _datastoreReader = new FuelInstHhCur.Reader(taskHelper, dir);
            _count           = opts.Count;
        }
示例#2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            services.AddResponseCompression(options =>
            {
                options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[]
                {
                    MediaTypeNames.Application.Octet,
                    WasmMediaTypeNames.Application.Wasm,
                });
            });

            services.AddSingleton <ITime>(SystemTime.Instance);
            services.AddSingleton <ITaskHelper>(SystemTaskHelper.Instance);

            services.AddSingleton <Db <FuelInstHhCur.Data> >(svcs =>
            {
                var taskHelper = svcs.GetRequiredService <ITaskHelper>();
                var options    = svcs.GetRequiredService <CmdLineOptions>();
                var dir        = new SystemDirectory(taskHelper, options.FuelInstHhCurDataDirectory);
                var reader     = new FuelInstHhCur.Reader(taskHelper, dir);
                return(new Db <FuelInstHhCur.Data>(taskHelper, reader));
            });
            services.AddSingleton <Db <Freq.Data> >(svcs =>
            {
                var taskHelper = svcs.GetRequiredService <ITaskHelper>();
                var options    = svcs.GetRequiredService <CmdLineOptions>();
                var dir        = new SystemDirectory(taskHelper, options.FreqDataDirectory);
                var reader     = new Freq.Reader(taskHelper, dir);
                return(new Db <Freq.Data>(taskHelper, reader));
            });
            services.AddSingleton <InstantaneousFlow.Reader>(svcs =>
            {
                var taskHelper = svcs.GetRequiredService <ITaskHelper>();
                var options    = svcs.GetRequiredService <CmdLineOptions>();
                var dir        = new SystemDirectory(taskHelper, options.GasFlowDataDirectory);
                return(new InstantaneousFlow.Reader(taskHelper, dir));
            });
            services.AddSingleton <Db <InstantaneousFlow.Data> >(svcs =>
            {
                var taskHelper = svcs.GetRequiredService <ITaskHelper>();
                var reader     = svcs.GetRequiredService <InstantaneousFlow.Reader>();
                return(new Db <InstantaneousFlow.Data>(taskHelper, reader));
            });
            services.AddSingleton <Db <B1610.Data> >(svcs =>
            {
                var taskHelper = svcs.GetRequiredService <ITaskHelper>();
                var options    = svcs.GetRequiredService <CmdLineOptions>();
                var dir        = new SystemDirectory(taskHelper, options.B1610DataDirectory);
                var reader     = new B1610.Reader(taskHelper, dir);
                return(new Db <B1610.Data>(taskHelper, reader));
            });
            services.AddSingleton <Db <PhyBmData.FpnData> >(svcs =>
            {
                var taskHelper = svcs.GetRequiredService <ITaskHelper>();
                var options    = svcs.GetRequiredService <CmdLineOptions>();
                var dir        = new SystemDirectory(taskHelper, options.FpnDataDirectory);
                var reader     = new PhyBmData.FpnReader(taskHelper, dir);
                return(new Db <PhyBmData.FpnData>(taskHelper, reader, pollInterval: Duration.FromMinutes(5)));
            });

            services.AddSingleton <PostBag>();
        }