Пример #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, FuelsContext context)
        {
            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "FuelStation API V1");
            });


            app.UseDeveloperExceptionPage();

            app.UseDefaultFiles();
            app.UseStaticFiles();

            // инициализация базы данных
            DbInitializer.Initialize(context);

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
 public OperationsController(FuelsContext context)
 {
     _context = context;
 }
Пример #3
0
        public static void Initialize(FuelsContext db)
        {
            db.Database.EnsureCreated();

            // Проверка занесены ли виды топлива
            if (db.Fuels.Any())
            {
                return;   // База данных инициализирована
            }

            int    tanks_number      = 35;
            int    fuels_number      = 35;
            int    operations_number = 300;
            string tankType;
            string tankMaterial;
            float  tankWeight;
            float  tankVolume;
            string fuelType;
            float  fuelDensity;

            Random randObj = new(1);

            //Заполнение таблицы емкостей
            string[] tank_voc           = { "Цистерна_", "Ведро_", "Бак_", "Фляга_", "Цистерна_" };                //словарь названий емкостей
            string[] material_voc       = { "Сталь", "Платина", "Алюминий", "ПЭТ", "Чугун", "Алюминий", "Сталь" }; //словарь названий видов топлива
            int      count_tank_voc     = tank_voc.GetLength(0);
            int      count_material_voc = material_voc.GetLength(0);

            for (int tankID = 1; tankID <= tanks_number; tankID++)
            {
                tankType     = tank_voc[randObj.Next(count_tank_voc)] + tankID.ToString();
                tankMaterial = material_voc[randObj.Next(count_material_voc)];
                tankWeight   = 500 * (float)randObj.NextDouble();
                tankVolume   = 200 * (float)randObj.NextDouble();
                db.Tanks.Add(new Tank {
                    TankType = tankType, TankWeight = tankWeight, TankVolume = tankVolume, TankMaterial = tankMaterial
                });
            }
            //сохранение изменений в базу данных, связанную с объектом контекста
            db.SaveChanges();

            //Заполнение таблицы видов топлива
            string[] fuel_voc       = { "Нефть_", "Бензин_", "Керосин_", "Мазут_", "Спирт_" };
            int      count_fuel_voc = fuel_voc.GetLength(0);

            for (int fuelID = 1; fuelID <= fuels_number; fuelID++)
            {
                fuelType    = fuel_voc[randObj.Next(count_fuel_voc)] + fuelID.ToString();
                fuelDensity = 2 * (float)randObj.NextDouble();
                db.Fuels.Add(new Fuel {
                    FuelType = fuelType, FuelDensity = fuelDensity
                });
            }
            //сохранение изменений в базу данных, связанную с объектом контекста
            db.SaveChanges();

            //Заполнение таблицы операций
            for (int operationID = 1; operationID <= operations_number; operationID++)
            {
                int      tankID        = randObj.Next(1, tanks_number - 1);
                int      fuelID        = randObj.Next(1, fuels_number - 1);
                int      inc_exp       = randObj.Next(200) - 100;
                DateTime today         = DateTime.Now.Date;
                DateTime operationdate = today.AddDays(-operationID);
                db.Operations.Add(new Operation {
                    TankID = tankID, FuelID = fuelID, Inc_Exp = inc_exp, Date = operationdate
                });
            }
            //сохранение изменений в базу данных, связанную с объектом контекста
            db.SaveChanges();
        }