public async Task <IActionResult> ConfirmBusTicket(TripTicketViewModel tripTicketViewModel)
        {
            User user = await _userManager.GetUserAsync(User);

            ViewData["CardList"]            = new SelectList(await _cardService.GetCardsForPaymentAsync(user.Id), "Id", "Name");
            ViewBag.serviceTypeId           = BusService.serviceCategoryId;
            ViewBag.ServiceId               = BusService.serviceId;
            ViewBag.serviceName             = BUS_TICKET_SERVICE_NAME;
            ViewData["ReceiverAccountId"]   = _paymentService.GetReceiverAccountId(ViewBag.serviceTypeId);
            ViewData["ServiceProviderName"] = _paymentService.GetReceiverNameService(ViewBag.serviceTypeId);
            List <int> seatNumbers = tripTicketViewModel.SeatNumbers.Split(',').Select(int.Parse).ToList();

            ViewData["Seat"]        = seatNumbers;
            ViewData["SeatNumbers"] = seatNumbers.Count;
            return(View(tripTicketViewModel));
        }
        public async Task <IActionResult> ChooseBusSeat(int id)
        {
            Trip trip = await _tripService.GetTripById(id);

            if (ModelState.IsValid)
            {
                TripTicketViewModel tripTicketViewModel = new TripTicketViewModel()
                {
                    DestinationFrom = trip.DestinationFrom,
                    DestinationTo   = trip.DestinationTo,
                    Departure       = trip.Departure,
                    TotalMinutes    = trip.TotalMinutes,
                    TicketPrice     = trip.TicketPrice,
                    TotalSeats      = trip.TotalSeats,
                    FreeSeats       = trip.FreeSeats,
                    TripId          = id
                };
                return(View(tripTicketViewModel));
            }

            return(View());
        }
        public async Task <IActionResult> ConfirmBusTicket(TripTicketViewModel tripTicketViewModel, Trip trip, Ticket ticket, Transactions transactions)
        {
            User user = await _userManager.GetUserAsync(User);

            ViewData["CardList"] = new SelectList(await _cardService.GetCardsForPaymentAsync(user.Id), "Id", "Name");
            if (ModelState.IsValid)
            {
                tripTicketViewModel = new TripTicketViewModel()
                {
                    DestinationFrom   = trip.DestinationFrom,
                    DestinationTo     = trip.DestinationTo,
                    Departure         = trip.Departure,
                    TotalMinutes      = trip.TotalMinutes,
                    TicketPrice       = trip.TicketPrice,
                    TotalSeats        = trip.TotalSeats,
                    FreeSeats         = trip.FreeSeats,
                    PassangerName     = ticket.PassangerName,
                    TripId            = ticket.TripId,
                    PurchaseDate      = ticket.PurchaseDate = DateTime.Now,
                    SeatNumber        = ticket.SeatNumber,
                    ServiceId         = transactions.ServiceId,
                    ReceiverAccountId = transactions.ReceiverAccountId,
                    Amount            = transactions.Amount,
                    PersonalAccountId = transactions.PersonalAccountId,
                    Date = transactions.Date = DateTime.Now
                };

                await _ticketService.Create(ticket);

                await _paymentService.PaymentForService(transactions);

                return(RedirectToAction("Index", "Cards"));
            }

            return(View());
        }
 public IActionResult ChooseBusSeat(TripTicketViewModel tripTicketViewModel)
 {
     return(RedirectToAction("ConfirmBusTicket", tripTicketViewModel));
 }