public async Task DeleteAirport(AirPortBE airport, CancellationToken token) { var existingAirport = await _flightplanner_entities.Airport.Where(x => x.Id == airport.Id).FirstOrDefaultAsync(); if (existingAirport != null) { _flightplanner_entities.Airport.Remove(existingAirport); await Save(token); } }
public async Task DeleteAirportBL(AirPortBE airport, CancellationToken token) { try { await _data.DeleteAirport(airport, token); } catch (Exception ex) { _logError.Log(ex); } }
public async Task EditAirportBL(AirPortBE airport, CancellationToken token) { try { if (string.IsNullOrEmpty(airport.Name) || string.IsNullOrEmpty(airport.CountryName)) { throw new ArgumentException(); } await _data.EditAirport(airport, token); } catch (Exception ex) { _logError.Log(ex); } }
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")); }
internal static Airport Map(AirPortBE airportBE, Airport result = null) { if (result == null) { result = new Airport(); } result.Id = airportBE.Id; result.Code = airportBE.Code; result.Name = airportBE.Name; result.CityCode = airportBE.CityCode; result.CityName = airportBE.CityName; result.CountryName = airportBE.CountryName; result.CountryCode = airportBE.CountryCode; result.TimeZone = airportBE.TimeZone; result.Lat = airportBE.Latitude; result.Lon = airportBE.Longitude; result.NumAirports = airportBE.NumAirports; result.City = airportBE.City; return(result); }
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")); }
internal static AirPortBE Map(Airport airport) { if (airport == null) { return(null); } AirPortBE result = new AirPortBE(); result.Id = airport.Id; result.Code = airport.Code; result.Name = airport.Name; result.CityCode = airport.CityCode; result.CityName = airport.CityName; result.CountryName = airport.CountryName; result.CountryCode = airport.CountryCode; result.TimeZone = airport.TimeZone; result.Latitude = airport.Lat; result.Longitude = airport.Lon; result.NumAirports = airport.NumAirports; result.City = airport.City; return(result); }
public async Task AddAirport(AirPortBE airport, CancellationToken token) { _flightplanner_entities.Airport.Add(AirPortMap.Map(airport)); await Save(token); }