示例#1
0
        public static void Seed(ApplicationDbContext context)
        {
            if (!context.Engines.Any())
            {
                context.Engines.AddRange(Engines.Select(c => c.Value));
            }
            context.SaveChanges();

            if (!context.Fuels.Any())
            {
                context.Fuels.AddRange(Fuels.Select(c => c.Value));
            }
            context.SaveChanges();

            if (!context.Brands.Any())
            {
                context.Brands.AddRange(Brands.Select(c => c.Value));
            }
            context.SaveChanges();

            if (!context.Cars.Any())
            {
                context.Cars.AddRange(Cars.Select(c => c.Value));
            }
            context.SaveChanges();
        }
示例#2
0
 internal static void AddUniqueFuel(FuelModel fuel)
 {
     if (!Fuels.Contains(fuel))
     {
         Fuels.Add(fuel);
     }
 }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            Fuels fuels = db.Fuels.Find(id);

            db.Fuels.Remove(fuels);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#4
0
 public void NextFuel()
 {
     CurrentFuelIndex += 1;
     if (CurrentFuelIndex >= Fuels.Count())
     {
         CurrentFuelIndex = 0;
     }
     Fuel = Fuels[CurrentFuelIndex].name;
 }
示例#5
0
 public void PrevFuel()
 {
     CurrentFuelIndex -= 1;
     if (CurrentFuelIndex < 0)
     {
         CurrentFuelIndex = Fuels.Count() - 1;
     }
     Fuel = Fuels[CurrentFuelIndex].name;
 }
示例#6
0
 public ActionResult Edit([Bind(Include = "FuelID,FuelType,FuelDensity")] Fuels fuels)
 {
     if (ModelState.IsValid)
     {
         db.Entry(fuels).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(fuels));
 }
示例#7
0
        public ActionResult Create([Bind(Include = "FuelID,FuelType,FuelDensity")] Fuels fuels)
        {
            if (ModelState.IsValid)
            {
                db.Fuels.Add(fuels);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(fuels));
        }
        public void FuelsValidator_Co2PricePerTonIsNegative_ReturnsValidationError()
        {
            // Arrange
            var fuels = new Fuels(10, 10, 120, -10);

            // Act
            var result = _validator.TestValidate(fuels);

            // Assert
            result.IsValid.Should().BeFalse();
            result.ShouldHaveValidationErrorFor(f => f.Co2PricePerTon);
        }
        public void FuelsValidator_WindPercentageIsGreaterThan100_ReturnsValidationError()
        {
            // Arrange
            var fuels = new Fuels(10, 10, 120);

            // Act
            var result = _validator.TestValidate(fuels);

            // Assert
            result.IsValid.Should().BeFalse();
            result.ShouldHaveValidationErrorFor(f => f.WindPercentage);
        }
        public void FuelsValidator_ValidFuels_ReturnsNoValidationErrors()
        {
            // Arrange
            var fuels = new Fuels(10, 10, 80);

            // Act
            var result = _validator.TestValidate(fuels);

            // Assert
            result.IsValid.Should().BeTrue();
            result.ShouldNotHaveAnyValidationErrors();
        }
 private static void AddWindTurbine(Fuels fuels, List <Multitude> multitudes, Dtos.PowerPlant item)
 {
     multitudes.Add(new WindTurbine()
     {
         Efficiency  = item.Efficiency,
         Name        = item.Name,
         Pmax        = item.Pmax,
         Pmin        = item.Pmin,
         Power       = item.Pmax,
         Type        = item.Type,
         WindAverage = fuels.Wind
     });
 }
示例#12
0
        // GET: Fuels/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Fuels fuels = db.Fuels.Find(id);

            if (fuels == null)
            {
                return(HttpNotFound());
            }
            return(View(fuels));
        }
        public void FuelsValidator_MultipleInvalidProps_ReturnsMultipleValidationErrors()
        {
            // Arrange
            var fuels = new Fuels(-10, -10, 120);

            // Act
            var result = _validator.TestValidate(fuels);

            // Assert
            result.IsValid.Should().BeFalse();
            result.ShouldHaveValidationErrorFor(f => f.GasPricePerMWh);
            result.ShouldHaveValidationErrorFor(f => f.KerosenePricePerMWh);
            result.ShouldHaveValidationErrorFor(f => f.WindPercentage);
        }
        /// <summary>
        /// Calculate price per MWh of a specific powerplant based on its efficiency, fuel price and Co2 for gas-fired
        /// </summary>
        private static decimal CalculatePricePerMWh(PowerPlant powerPlant, Fuels fuels)
        {
            // Produce electricity from wind is free
            // Only Gas-fired powerplant can generate Co2
            var pricePerMWh = powerPlant.Type switch
            {
                PowerPlantType.WindTurbine => 0,
                PowerPlantType.GasFired => fuels.GasPricePerMWh + Co2GeneratedPerMWh * fuels.Co2PricePerTon,
                PowerPlantType.Turbojet => fuels.KerosenePricePerMWh,
                _ => throw new ArgumentOutOfRangeException(nameof(powerPlant),
                                                           $"{powerPlant.Type} is an unknown powerplant type")
            };

            return(pricePerMWh / powerPlant.Efficiency);
        }
示例#15
0
        public ActionResult Delete(int?id)
        {
            ViewBag.Title = "Топливо";
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Fuels fuels = db.Fuels.Find(id);

            if (fuels == null)
            {
                return(HttpNotFound());
            }
            return(View(fuels));
        }
示例#16
0
文件: Car.cs 项目: escalonc/Roadway
 public Car(string vin, string licensePlate, string brand, string model, string version, ushort year,
            string color, Fuels fuel, Sizes size, Uses use, CarType carType, Customer customer)
 {
     Vin          = vin;
     LicensePlate = licensePlate;
     Brand        = brand;
     Model        = model;
     Version      = version;
     Year         = year;
     Color        = color;
     Fuel         = fuel;
     Size         = size;
     Use          = use;
     CarType      = carType;
     Customer     = customer;
 }
 private static void AddTurboJet(Fuels fuels, List <Multitude> multitudes, Dtos.PowerPlant item)
 {
     multitudes.Add(new TurboJet()
     {
         Efficiency = item.Efficiency,
         Fuel       = new EnergySource()
         {
             EuroPerMHh = fuels.GasEuroMWh,
             Name       = "kerosine"
         },
         Name  = item.Name,
         Pmax  = item.Pmax,
         Pmin  = item.Pmin,
         Power = item.Pmax,
         Type  = item.Type
     });
 }
 private static void AddGasFired(Fuels fuels, List <Multitude> multitudes, Dtos.PowerPlant item)
 {
     multitudes.Add(new GasFired()
     {
         CO2        = fuels.CO2EuroTon,
         Efficiency = item.Efficiency,
         Fuel       = new EnergySource()
         {
             EuroPerMHh = fuels.GasEuroMWh,
             Name       = "gas"
         },
         Name  = item.Name,
         Pmax  = item.Pmax,
         Pmin  = item.Pmin,
         Power = item.Pmax,
         Type  = item.Type
     });
 }
 public Championship(string name, EngineLayouts allowedLayouts, int maxDisplacement, Fuels allowedFuels,
                     bool allowSupercharged, Transmissions allowedTransmissions, Drives allowedDrives, int maxNumberOfSeats, int minWight)
 {
     this.Name = name;
     this.AllowedEngineLayouts      = allowedLayouts;
     this.MaximumEngineDisplacement = maxDisplacement;
     this.AllowedFuels = allowedFuels;
     this.AllowedEngineSupercharged = allowSupercharged;
     this.AllowedTransmissions      = allowedTransmissions;
     this.AllowedDrives             = allowedDrives;
     this.MinimumNumberOfSeats      = maxNumberOfSeats;
     this.MinimumVehicleWeight      = minWight;
 }
示例#20
0
 public CurrentSupplies()
 {
     Fuels = new Fuels();
 }
 private static ICollection <PowerPlant> CreatePowerPlants(IEnumerable <PowerPlantModel> powerPlants, Fuels fuels)
 => powerPlants.Select(p => new PowerPlant(p.Name, p.Type, fuels, p.Efficiency, p.PMin, p.PMax))
 .ToList();
示例#22
0
 public ICarBuilder SetFuel(Fuels fuel)
 {
     Fuel = fuel;
     return(this);
 }