public async Task <IActionResult> OnGetAsync() { if (String.IsNullOrEmpty(DepartureAircraftName) || String.IsNullOrEmpty(DepartureFlightNumber) || String.IsNullOrEmpty(OriginAirport) || String.IsNullOrEmpty(DestinationAirport)) { return(RedirectToPage("/Index")); } Airports = await _siaDestinationApiService.GetAirports(); _departureFlight = new FlightDetails() { AircraftName = DepartureAircraftName, FlightNumber = DepartureFlightNumber, Date = DepartureDate, ClassType = ClassType, CurrentCapacity = Passengers, IataOriginAirportCode = OriginAirport, IcaoOriginAirportCode = _commonService.GetIataIcaoAirportCodes()[OriginAirport], IataDestinationAirportCode = DestinationAirport, IcaoDestinationAirportCode = _commonService.GetIataIcaoAirportCodes()[DestinationAirport] }; PopulateCarbonEmissionDetails(ref _departureFlight); ViewData["CurrentCarbonEmission"] = _departureFlight.CurrentCarbonEmission; ViewData["TotalCarbonEmission"] = _departureFlight.TotalCarbonEmission; ViewData["Distance"] = _departureFlight.Distance; ViewData["FuelBurn"] = _departureFlight.FuelBurn; ViewData["departureFlightDetailsJson"] = JsonConvert.SerializeObject(_departureFlight); if (!String.IsNullOrEmpty(ReturnFlightNumber)) { _returnFlight = new FlightDetails() { AircraftName = ReturnAircraftName, FlightNumber = ReturnFlightNumber, Date = ReturnDate, ClassType = ClassType, CurrentCapacity = Passengers, IataOriginAirportCode = DestinationAirport, IcaoOriginAirportCode = _commonService.GetIataIcaoAirportCodes()[DestinationAirport], IataDestinationAirportCode = OriginAirport, IcaoDestinationAirportCode = _commonService.GetIataIcaoAirportCodes()[OriginAirport] }; // Get carbon emission for round trip PopulateCarbonEmissionDetails(ref _returnFlight); ViewData["CurrentCarbonEmission"] = _departureFlight.CurrentCarbonEmission + _returnFlight.CurrentCarbonEmission; ViewData["TotalCarbonEmission"] = _departureFlight.TotalCarbonEmission + _returnFlight.TotalCarbonEmission; ViewData["Distance"] = _departureFlight.Distance + _returnFlight.Distance; ViewData["FuelBurn"] = _departureFlight.FuelBurn + _returnFlight.FuelBurn; ViewData["returnFlightDetailsJson"] = JsonConvert.SerializeObject(_returnFlight); } GetCarbonProjects("SGD"); return(Page()); }
public async Task <IActionResult> OnGetAsync() { Airports = await _siaDestinationApiService.GetAirports(); if (String.IsNullOrEmpty(Id)) { Flights = _carbonFlightOffsetService.GetAll(); } else { Flights.Add(_carbonFlightOffsetService.Get(Id)); } return(Page()); }
public async Task <IActionResult> OnGetAsync() { if (String.IsNullOrEmpty(DepartureFlightOffsetId)) { return(RedirectToPage("/Index")); } Airports = await _siaDestinationApiService.GetAirports(); DepartureFlightOffset = _carbonFlightOffsetService.Get(DepartureFlightOffsetId); CarbonProjectDetails = DepartureFlightOffset.CarbonProjects.LastOrDefault <CarbonProjectDetails>(); ViewData["CarbonOffset"] = DepartureFlightOffset.FlightDetails.CurrentCarbonEmission; ViewData["CarbonPrice"] = DepartureFlightOffset.FlightDetails.CurrentCarbonEmission / 1000 * CarbonProjectDetails.CarbonPrice; if (!String.IsNullOrEmpty(ReturnFlightOffsetId)) { ReturnFlightOffset = _carbonFlightOffsetService.Get(ReturnFlightOffsetId); ViewData["CarbonOffset"] = DepartureFlightOffset.FlightDetails.CurrentCarbonEmission + ReturnFlightOffset.FlightDetails.CurrentCarbonEmission; ViewData["CarbonPrice"] = (DepartureFlightOffset.FlightDetails.CurrentCarbonEmission + ReturnFlightOffset.FlightDetails.CurrentCarbonEmission) / 1000 * CarbonProjectDetails.CarbonPrice; } return(Page()); }