Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> OnGetAsync()
        {
            Airports = await _siaDestinationApiService.GetAirports();

            if (String.IsNullOrEmpty(Id))
            {
                Flights = _carbonFlightOffsetService.GetAll();
            }
            else
            {
                Flights.Add(_carbonFlightOffsetService.Get(Id));
            }

            return(Page());
        }
Ejemplo n.º 3
0
        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());
        }