public ActionResult Details(int reservationId) { var model = new ReservationDetailsListViewModel(); model.Pager ??= new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; var reservation = _context.Reservations.Include(x => x.Passangers).FirstOrDefault(y => y.Id == reservationId); List <PassangerDataViewModel> items = new List <PassangerDataViewModel>(); foreach (var passanger in reservation.Passangers) { var viewModel = new PassangerDataViewModel() { FirstName = passanger.FirstName, MiddleName = passanger.MiddleName, LastName = passanger.LastName, UCN = passanger.UCN, Nationality = passanger.Nationality, PhoneNumber = passanger.PhoneNumber, TicketType = passanger.TicketType }; items.Add(viewModel); } model.PlaneNum = _context.Flights.FirstOrDefault(x => x.Id == reservation.FlightId).PlaneNumber; model.Items = items; model.Pager.PagesCount = (int)Math.Ceiling(model.Items.Count() / (double)model.Pager.PageSize); return(View(model)); }
public ActionResult Confirmation(int reservationId, int flightId, string email) { var flight = _context.Flights.FirstOrDefault(x => x.Id == flightId); var reservation = _context.Reservations.Include(y => y.Passangers).FirstOrDefault(x => x.Id == reservationId); var confirmationModel = new ConfirmationViewModel() { Email = email, DepartureTime = flight.DepartureTime, FlightSource = flight.LocationFrom, FlightDestination = flight.LocationTo, Passangers = new List <PassangerDataViewModel>() }; foreach (var passanger in reservation.Passangers) { PassangerDataViewModel passangerModel = new PassangerDataViewModel() { FirstName = passanger.FirstName, MiddleName = passanger.MiddleName, LastName = passanger.LastName, UCN = passanger.UCN, PhoneNumber = passanger.PhoneNumber, Nationality = passanger.Nationality, TicketType = passanger.TicketType }; confirmationModel.Passangers.Add(passangerModel); } SendMailAsync(confirmationModel); return(View(confirmationModel)); }