예제 #1
0
        public async Task <IActionResult> Edit(EditFlightViewModel model)
        {
            IActionResult result;

            if (ModelState.IsValid)
            {
                await _flights.UpdateFlightAsync(model.Id, model.FlightNumber, model.Embarkation, model.Destination, model.AirlineId);

                result = RedirectToAction("Index", new
                {
                    airlineId   = 0,
                    number      = model.FlightNumber,
                    embarkation = "",
                    destination = ""
                });
            }
            else
            {
                List <Airline> airlines = await _airlines.GetAirlinesAsync();

                model.SetAirlines(airlines);
                result = View(model);
            }

            return(result);
        }
예제 #2
0
        public async Task <IActionResult> Edit(EditFlightViewModel model)
        {
            IActionResult result;

            if (ModelState.IsValid)
            {
                DateTime start = CombineDateAndTime(model.StartDate, model.StartTime);
                DateTime end   = CombineDateAndTime(model.EndDate, model.EndTime);

                Flight flight = await _flights.UpdateFlightAsync(
                    model.Id,
                    model.DroneId,
                    model.LocationId,
                    model.OperatorId,
                    start,
                    end);

                // Redirect to the flight details/properties page
                result = RedirectToAction("Index", "FlightDetails", new { id = flight.Id });
            }
            else
            {
                // If the model state isn't valid, load the lists of drones,
                // locations and operators and redisplay the flight logging page
                List <Drone> drones = await _drones.GetDronesAsync();

                List <Location> locations = await _locations.GetLocationsAsync();

                List <Operator> operators = await _operators.GetOperatorsAsync();

                model.SetDrones(drones);
                model.SetLocations(locations);
                model.SetOperators(operators);

                result = View(model);
            }

            return(result);
        }