public async Task <IActionResult> ReservationConfirmation(ReservationConfirmationViewModel reservationConfirmationViewModel)
        {
            try {
                var discount = await dbContext.Discount.FirstOrDefaultAsync(x =>
                                                                            x.IdDiscount == reservationConfirmationViewModel.IdDiscount);

                var ticket = await dbContext.Ticket
                             .Include(seat => seat.SeatNavigation)
                             .SingleOrDefaultAsync(x => x.IdTicket == reservationConfirmationViewModel.IdTicket);

                ticket.SeatNavigation.SeatAvailability       = false;
                dbContext.Entry(ticket.SeatNavigation).State = EntityState.Modified;
                var sale = new Sale {
                    IdPassenger = reservationConfirmationViewModel.IdPassenger,
                    IdTicket    = reservationConfirmationViewModel.IdTicket,
                    IdDiscount  = reservationConfirmationViewModel.IdDiscount,
                    SaleDate    = DateTime.Now,
                    TotalPrice  = reservationConfirmationViewModel.Price * discount.DiscountMultiply
                };
                await dbContext.AddAsync(sale);

                await dbContext.SaveChangesAsync();

                return(RedirectToAction("History"));
            } catch {
                return(NotFound());
            }
        }
        public async Task <ActionResult> Create(WagonType wagonType)
        {
            try {
                if (ModelState.IsValid)
                {
                    await dbContext.AddAsync(wagonType);

                    await dbContext.SaveChangesAsync();

                    return(RedirectToAction("Index"));
                }
                return(View());
            } catch {
                return(NotFound());
            }
        }