public async Task DeleteAircraft(AirCraftBE aircraft, CancellationToken token) { var existingAircraft = await _flightplanner_entities.Aircraft.Where(x => x.Id == aircraft.Id).FirstOrDefaultAsync(); if (existingAircraft != null) { _flightplanner_entities.Aircraft.Remove(existingAircraft); await Save(token); } }
public async Task DeleteAircraftBL(AirCraftBE aircraft, CancellationToken token) { try { await _data.DeleteAircraft(aircraft, token); } catch (Exception ex) { _logError.Log(ex); } }
internal static Aircraft Map(AirCraftBE aircraftBE, Aircraft result = null) { if (result == null) { result = new Aircraft(); } result.Id = aircraftBE.Id; result.Model = aircraftBE.Model; result.FuelConsumption = aircraftBE.FuelConsumption; result.FuelConsumptionTakeoff = aircraftBE.FuelConsumptionTakeoff; result.ConsumptionUnit = aircraftBE.ConsumptionUnit; return(result); }
public async Task EditAircraftBL(AirCraftBE aircraft, CancellationToken token) { try { if (string.IsNullOrEmpty(aircraft.Model) || aircraft.FuelConsumption == null) { throw new ArgumentException(); } await _data.EditAircraft(aircraft, token); } catch (Exception ex) { _logError.Log(ex); } }
internal static AirCraftBE Map(Aircraft aircraft) { if (aircraft == null) { return(null); } AirCraftBE result = new AirCraftBE(); result.Id = aircraft.Id; result.Model = aircraft.Model; result.FuelConsumption = aircraft.FuelConsumption; result.FuelConsumptionTakeoff = aircraft.FuelConsumptionTakeoff; result.ConsumptionUnit = aircraft.ConsumptionUnit; return(result); }
public async Task <IActionResult> EditFlight(FlightViewModel newflightviewmodel, CancellationToken token) { newflightviewmodel.AirCrafts = await _aircraftBL.GetAircraftsBL(); FlightBE flightToEdit = new FlightBE(); double newDistanceTrip; double newTripfuelConsumption; string idCurrentUserString; AirPortBE newDepartureAirport = new AirPortBE(); AirPortBE newArrivalAirPort = new AirPortBE(); AirCraftBE newAirCraft = new AirCraftBE(); idCurrentUserString = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; newDepartureAirport = await _airportBL.GetAirportByCodeBL(newflightviewmodel.DepartureAirPortCode); newArrivalAirPort = await _airportBL.GetAirportByCodeBL(newflightviewmodel.ArrivalAirPortCode); newAirCraft = await _aircraftBL.GetAircraftByIdBL(newflightviewmodel.AirCraftId); newDistanceTrip = distance(double.Parse(newDepartureAirport.Latitude, System.Globalization.CultureInfo.InvariantCulture), double.Parse(newDepartureAirport.Longitude), double.Parse(newArrivalAirPort.Latitude), double.Parse(newArrivalAirPort.Longitude), 'K'); newTripfuelConsumption = ((newAirCraft.FuelConsumption * newDistanceTrip) / 1000) + (double)newAirCraft.FuelConsumptionTakeoff; flightToEdit.Id = newflightviewmodel.Id; flightToEdit.FkDeparture = newDepartureAirport.Id; flightToEdit.FkArrival = newArrivalAirPort.Id; flightToEdit.FkUser = idCurrentUserString; flightToEdit.FkAirCraft = newAirCraft.Id; flightToEdit.Distance = newDistanceTrip; flightToEdit.TripFuelConsumption = newTripfuelConsumption; flightToEdit.DistanceUnit = "KM"; // To put in a config file await _flightBL.EditFlightBL(flightToEdit, token); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> AddFlight(FlightToAddViewModel flightToAddViewModel, CancellationToken token) { AirPortBE departureAirport = new AirPortBE(); AirPortBE arrivalAirport = new AirPortBE(); AirCraftBE aircraftUsed = new AirCraftBE(); FlightBE flightToAdd = new FlightBE(); string idCurrentUserString; double distanceTrip; double tripfuelConsumption; idCurrentUserString = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; departureAirport = await _airportBL.GetAirportByCodeBL(flightToAddViewModel.CodeFlightDeparture); arrivalAirport = await _airportBL.GetAirportByCodeBL(flightToAddViewModel.CodeFlightArrival); aircraftUsed = await _aircraftBL.GetAircraftByIdBL(flightToAddViewModel.FkAirCraft); /* We are calculating the distance between two airports using the latitude/longitude of those points */ distanceTrip = distance(double.Parse(departureAirport.Latitude, System.Globalization.CultureInfo.InvariantCulture), double.Parse(departureAirport.Longitude), double.Parse(arrivalAirport.Latitude), double.Parse(arrivalAirport.Longitude), 'K'); /* We have the information of the consumption of each aircraft in Kilogram by 1000KM in the database, * so we are doing a simple rule of three to have the consomation for the distance traveled, * in addition to that we add the additional fuel consumption during the takeoff for each aircraft */ tripfuelConsumption = ((aircraftUsed.FuelConsumption * distanceTrip) / 1000) + (double)aircraftUsed.FuelConsumptionTakeoff; flightToAdd.FkDeparture = departureAirport.Id; flightToAdd.FkArrival = arrivalAirport.Id; flightToAdd.FkUser = idCurrentUserString; flightToAdd.FkAirCraft = aircraftUsed.Id; flightToAdd.Distance = distanceTrip; flightToAdd.TripFuelConsumption = tripfuelConsumption; flightToAdd.DistanceUnit = "KM"; // To put in a config file await _flightBL.AddFlightBL(flightToAdd, token); return(RedirectToAction("AllFlights", "Flight")); }
public async Task AddAircraft(AirCraftBE aircraft, CancellationToken token) { _flightplanner_entities.Aircraft.Add(AirCraftMap.Map(aircraft)); await Save(token); }