Exemplo n.º 1
0
        public IActionResult EditFlight(EditFlightViewModel model)
        {
            if (ModelState.IsValid)
            {
                Flight flightToEdit = context.Flights.Find(model.Id);
                flightToEdit.Id               = model.Id;
                flightToEdit.From             = model.From;
                flightToEdit.To               = model.To;
                flightToEdit.PlaneId          = model.PlaneId;
                flightToEdit.PlaneModel       = model.PlaneModel;
                flightToEdit.PilotName        = model.PilotName;
                flightToEdit.BusinessCapacity = model.BusinessCapacity;
                flightToEdit.EconomyCapacity  = model.EconomyCapacity;
                flightToEdit.Arrival          = new DateTime(model.DateOfArrival.Year,
                                                             model.DateOfArrival.Month,
                                                             model.DateOfArrival.Day,
                                                             model.TimeOfArrival.Hours,
                                                             model.TimeOfArrival.Minutes,
                                                             0);
                flightToEdit.Departure = new DateTime(model.DateOfDeparture.Year,
                                                      model.DateOfDeparture.Month,
                                                      model.DateOfDeparture.Day,
                                                      model.TimeOfDeparture.Hours,
                                                      model.TimeOfDeparture.Minutes,
                                                      0);

                if (flightToEdit.Arrival < flightToEdit.Departure)
                {
                    ViewData["Error"] = "Arrival cannot be before Departure!";
                    return(View(model));
                }
                else if (flightToEdit.Departure < DateTime.Now)
                {
                    ViewData["Error"] = "Date of departure should be after today";
                    return(View(model));
                }
                try
                {
                    context.Update(flightToEdit);
                    context.SaveChanges();
                    return(View("Flights", GetAllUpcomingFlights()));
                }
                catch
                {
                    ViewData["Error"] = "Something went wrong";
                    return(View(model));
                }
            }
            ViewData["Error"] = "Something went wrong";
            return(View(model));
        }