private static void ValidateEnergyConsumption() { if (_calculations.GetEnergyConsumption(_ship) > _ship.Energy) { _modelState.AddModelError("EnergyConsumptionOverdraft", "The energy consumption of the ship is too high"); } }
public IActionResult Wings(WingsViewModel viewModel) { viewModel.AvailableWings = _spaceTransitAuthority.GetWings(); viewModel.AvailableWeapons = _spaceTransitAuthority.GetWeapons(); if (viewModel.SelectedWeapons == null || viewModel.SelectedWeapons.Length < viewModel.SelectedWings.Length) { viewModel.SelectedWeapons = new List <int> [viewModel.SelectedWings.Length]; } if (!ModelState.IsValid) { return(View(viewModel)); } var ship = CreateShip(viewModel); var license = (Licence)int.Parse(User.Claims.FirstOrDefault(claim => claim.Type == "License")?.Value ?? string.Empty); Validation.ValidateShip(ModelState, ship, _calculations, viewModel.MaximumTakeoffMass, license); if (ModelState.ErrorCount > 0) { return(View(viewModel)); } return(View("Overview", new OverviewViewModel { Ship = ship, Weight = _calculations.GetShipWeight(ship), EnergyConsumption = _calculations.GetEnergyConsumption(ship), MaximumTakeoffMass = viewModel.MaximumTakeoffMass, HullId = viewModel.HullId, EngineId = viewModel.EngineId, SelectedWings = viewModel.SelectedWings, SelectedWeapons = viewModel.SelectedWeapons, })); }