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); }
public async virtual Task <ActionResult> Edit(EditFlightViewModel flightModel) { if (ModelState.IsValid) { var flight = await this.flightService.GetFlight(flightModel.Id); var sourceAiport = this.aiportList.FirstOrDefault(x => x.Code == flightModel.SourceAirportID); var destinationAiport = this.aiportList.FirstOrDefault(x => x.Code == flightModel.DestinationAirportID); Mapper.Map <EditFlightViewModel, Flight>(flightModel, flight); Mapper.Map <AiportViewModel, Aiport>(sourceAiport, flight.Source); Mapper.Map <AiportViewModel, Aiport>(destinationAiport, flight.Destination); flight.LastModifiedUser = User.Identity.Name; flight.LastModifiedDate = DateTime.Now; await flightService.PutFlight(flight); return(RedirectToAction("Index")); } else { ViewBag.AiportList = this.aiportList; return(View(flightModel)); } }
public IActionResult EditFlight(EditFlightViewModel model) { if (ModelState.IsValid) { var currentFlight = FlightService.EditFlight(model.Id, model.DepartureLocation, model.LandingLocation, model.DepartureDateTime, model.LandingDateTime, model.PlaneType, model.PlaneUniqueId, model.PilotName, model.RegularSeats, model.BusinessSeats); if (currentFlight == -1) { ViewBag.Message = "The departure and landing locations can't be the same!"; return(View()); } if (currentFlight == -2) { ViewBag.Message = "The departure datetime can't be ahead of the landing datetime!"; return(View()); } if (currentFlight == -3) { ViewBag.Message = "The plane UNIQUE id must be unique..."; return(View()); } } return(this.RedirectToAction("ListFlights", "Flight")); }
public ActionResult EditFlight(EditFlightViewModel _flight) { if (_flight.Id > 0) { if (_flight.Arraival > DateTime.Now && _flight.Departure > DateTime.Now && _flight.Price > 0 && _flight.Total > 0 && _flight.Arraival >= _flight.Departure) { Flight flight = flightMethods.Get(_flight.Id); flight.Departure = _flight.Departure; flight.Arrival = _flight.Arraival; flight.FromCountry = _flight.FromCountry; flight.FromCity = _flight.FromCity; flight.ToCountry = _flight.ToCountry; flight.ToCity = _flight.ToCity; flight.Price = _flight.Price; flight.TotalNumberPassengers = _flight.Total; flightMethods.Edit(flight); logger.Info($"Edited fligth: Id: {flight.Id}, Departure: {flight.Departure.ToShortDateString()}, Arrival: {flight.Arrival.ToShortDateString()}, FCity: {flight.FromCity}," + $"FCountry: {flight.FromCountry}, TCity: {flight.ToCity}, TCountry: {flight.ToCountry}, By: {HttpContext.User.Identity.Name}"); return(RedirectToAction("AllFlights", "Admin")); } else { return(View(_flight)); } } else { return(View("Error404")); } }
public IActionResult EditFlight(int?id) { if (context.Flights.Any(x => x.Id == id)) { Flight flightToEdit = context.Flights.Find(id); EditFlightViewModel model = new EditFlightViewModel() { Id = flightToEdit.Id, From = flightToEdit.From, To = flightToEdit.To, DateOfArrival = flightToEdit.Arrival.Date, TimeOfArrival = flightToEdit.Arrival.TimeOfDay, DateOfDeparture = flightToEdit.Departure.Date, TimeOfDeparture = flightToEdit.Departure.TimeOfDay, PlaneId = flightToEdit.PlaneId, PlaneModel = flightToEdit.PlaneModel, PilotName = flightToEdit.PilotName, EconomyCapacity = flightToEdit.EconomyCapacity, BusinessCapacity = flightToEdit.BusinessCapacity }; ViewData["Error"] = string.Empty; return(View(model)); } return(View("Flights", GetAllUpcomingFlights())); }
public async Task <IActionResult> Edit(int id) { Flight flight = await _flights.GetFlightByIdAsync(id); EditFlightViewModel model = _mapper.Map <EditFlightViewModel>(flight); List <Airline> airlines = await _airlines.GetAirlinesAsync(); model.SetAirlines(airlines); return(View(model)); }
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)); }
public async Task EditPost_SameAirports_ReturnsError() { // Arrange var flightId = Guid.NewGuid(); var airportId = Guid.NewGuid(); var viewModel = new EditFlightViewModel { FlightId = flightId, DepartureAirportId = airportId, DestinationAirportId = airportId }; var flight = _fixture.Create <Flight>(); var expectedAirports = _fixture.CreateMany <Airport>().ToList(); _mediatorMock .Setup(x => x.Send( It.IsAny <AirportAll.Query>(), It.IsAny <CancellationToken>())) .ReturnsAsync(expectedAirports); _mediatorMock .Setup(x => x.Send( It.IsAny <FlightById.Query>(), It.IsAny <CancellationToken>())) .ReturnsAsync(flight); var target = new FlightsController(_mediatorMock.Object); // Act var result = await target.Edit(viewModel); // Assert var viewResult = result .Should() .BeOfType <ViewResult>().Subject; var model = viewResult.ViewData.Model .Should() .BeOfType <EditFlightViewModel>().Subject; model.Airports .Should() .HaveCount(expectedAirports.Count); target.ModelState.IsValid.Should().BeFalse(); }
public IActionResult EditFlight(int id) { Flight flight = context.Flights.Find(id); EditFlightViewModel model = new EditFlightViewModel { DepartureLocation = flight.DepartureLocation, LandingLocation = flight.LandingLocation, DepartureDateTime = flight.DepartureDateTime, LandingDateTime = flight.LandingDateTime, PlaneType = flight.PlaneType, PlaneUniqueId = flight.PlaneUniqueId, PilotName = flight.PilotName, RegularSeats = flight.RegularSeats, BusinessSeats = flight.BusinessSeats }; return(this.View(model)); }
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); }
public async Task <IActionResult> Edit(EditFlightViewModel model) { if (model.DepartureAirportId == model.DestinationAirportId) { ModelState.AddModelError(string.Empty, DefaultMessages.SameAirportErrorMessage); var viewModel = await GetEditFlightViewModel(model.FlightId); return(View(viewModel)); } var updateFlightCommand = new FlightUpdate.Command( model.FlightId, model.DepartureAirportId, model.DestinationAirportId); await _mediator.Send(updateFlightCommand); TempData[nameof(DefaultMessages.FlightUpdatedMessage)] = DefaultMessages.FlightUpdatedMessage; return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Edit(int id) { List <Drone> drones = await _drones.GetDronesAsync(); List <Location> locations = await _locations.GetLocationsAsync(); List <Operator> operators = await _operators.GetOperatorsAsync(); Flight flight = await _flights.GetFlightAsync(id); EditFlightViewModel model = _mapper.Map <EditFlightViewModel>(flight); model.SetDrones(drones); model.SetLocations(locations); model.SetOperators(operators); model.StartDate = model.Start.ToString("MM/dd/yyyy"); model.StartTime = model.Start.ToString("HH:mm"); model.EndDate = model.End.ToString("MM/dd/yyyy"); model.EndTime = model.Start.ToString("HH:mm"); return(View(model)); }
public EditFlight(TripModel trip) { InitializeComponent(); DataContext = new EditFlightViewModel(trip); }
public async Task <IActionResult> Edit(EditFlightViewModel model) { byte[] empIdBytes = new byte[200]; if (HttpContext.Session.TryGetValue("empId", out empIdBytes)) { int employeeId = int.Parse(Encoding.UTF8.GetString(empIdBytes)); if (employeeId == 1) { List <Employee> employees = (from emp in _context.Employees where emp.Id == employeeId select emp).ToList(); Employee employee = employees[0]; ViewData["username"] = employee.Username; ViewData["isLoggedIn"] = true; ViewData["isAdmin"] = true; if (ModelState.IsValid) { Flight flight = new Flight { Id = model.Id, LocationFromId = model.LocationFromId, LocationToId = model.LocationToId, TakeOffDateTime = model.TakeOffDateTime, LandingDateTime = model.LandingDateTime, PlaneId = model.PlaneId }; try { _context.Update(flight); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!IsFlightExists(flight.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(model)); } else if (employeeId != 1 && employeeId > 0) { List <Employee> employees = (from emp in _context.Employees where emp.Id == employeeId select emp).ToList(); Employee employee = employees[0]; ViewData["username"] = employee.Username; ViewData["isLoggedIn"] = true; ViewData["isAdmin"] = false; return(RedirectToAction(nameof(Index))); } else { ViewData["isLoggedIn"] = false; ViewData["isAdmin"] = false; return(RedirectToAction(nameof(Index))); } } else { ViewData["isLoggedIn"] = false; ViewData["isAdmin"] = false; return(RedirectToAction(nameof(Index))); } }
public async Task <IActionResult> Edit(int?id) { byte[] empIdBytes = new byte[200]; if (HttpContext.Session.TryGetValue("empId", out empIdBytes)) { int employeeId = int.Parse(Encoding.UTF8.GetString(empIdBytes)); if (employeeId == 1) { List <Employee> employees = (from emp in _context.Employees where emp.Id == employeeId select emp).ToList(); Employee employee = employees[0]; ViewData["username"] = employee.Username; ViewData["isLoggedIn"] = true; ViewData["isAdmin"] = true; if (id == null) { return(NotFound()); } Flight flight = await _context.Flights.FindAsync(id); if (flight == null) { return(NotFound()); } EditFlightViewModel model = new EditFlightViewModel { LocationFromId = flight.LocationFromId, LocationToId = flight.LocationToId, TakeOffDateTime = flight.TakeOffDateTime, LandingDateTime = flight.LandingDateTime, PlaneId = flight.PlaneId }; List <Plane> planes = (from p in _context.Planes select p).ToList(); ViewData["locationFrom"] = _context.Addresses.Find(flight.LocationFromId); ViewData["locationTo"] = _context.Addresses.Find(flight.LocationToId); ViewData["plane"] = _context.Planes.Find(flight.PlaneId); ViewData["flight"] = _context.Flights.Find(flight.Id); ViewData["allPlanes"] = planes; return(View(model)); } else if (employeeId != 1 && employeeId > 0) { List <Employee> employees = (from emp in _context.Employees where emp.Id == employeeId select emp).ToList(); Employee employee = employees[0]; ViewData["username"] = employee.Username; ViewData["isLoggedIn"] = true; ViewData["isAdmin"] = false; return(RedirectToAction(nameof(Index))); } else { ViewData["isLoggedIn"] = false; ViewData["isAdmin"] = false; return(RedirectToAction(nameof(Index))); } } else { ViewData["isLoggedIn"] = false; ViewData["isAdmin"] = false; return(RedirectToAction(nameof(Index))); } }
readonly EditFlightViewModel ViewModel; // Our variable to hold the view model. public EditFlightDialog(Flight flight) { this.InitializeComponent(); ViewModel = new(flight); // Construct the view model. }