Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }