public Task AddFlight(FlightBE flight, CancellationToken token) { _flightplanner_entities.Flight.Add(FlightMap.Map(flight)); _flightplanner_entities.SaveChanges(); return(null); //await Save(token); }
public async Task DeleteFlight(FlightBE flight, CancellationToken token) { var existingFlight = await _flightplanner_entities.Flight.Where(x => x.Id == flight.Id).FirstOrDefaultAsync(); if (existingFlight != null) { _flightplanner_entities.Flight.Remove(existingFlight); await Save(token); } }
public async Task DeleteFlightBL(FlightBE flight, CancellationToken token) { try { await _data.DeleteFlight(flight, token); } catch (Exception ex) { _logError.Log(ex); } }
public async Task EditFlightBL(FlightBE flight, CancellationToken token) { try { if (flight.FkDeparture == null || flight.FkArrival == null || flight.FkUser == null || flight.FkAirCraft == null) { throw new ArgumentException(); } await _data.EditFlight(flight, token); } catch (Exception ex) { _logError.Log(ex); } }
internal static Flight Map(FlightBE flightBE, Flight result = null) { if (result == null) { result = new Flight(); } result.Id = flightBE.Id; result.FkDeparture = flightBE.FkDeparture; result.FkArrival = flightBE.FkArrival; result.FkUser = flightBE.FkUser; result.FkAircraft = flightBE.FkAirCraft; result.Distance = flightBE.Distance; result.DistanceUnit = flightBE.DistanceUnit; result.TripFuelConsumption = flightBE.TripFuelConsumption; return(result); }
internal static FlightBE Map(Flight flight) { if (flight == null) { return(null); } FlightBE result = new FlightBE(); result.Id = flight.Id; result.FkDeparture = flight.FkDeparture; result.FkArrival = flight.FkArrival; result.FkUser = flight.FkUser; result.FkAirCraft = flight.FkAircraft; result.Distance = flight.Distance; result.DistanceUnit = flight.DistanceUnit; result.TripFuelConsumption = flight.TripFuelConsumption; 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")); }