public ActionResult BookTicket(TicketBookingViewModel ticketBookingViewModel)       // Action to store booking details in DB
        {
            ticketBookingViewModel.TrainId     = (int)TempData["T_Id"];
            ticketBookingViewModel.UserId      = Convert.ToInt32(Session["UserId"]);
            ticketBookingViewModel.ClassId     = (int)TempData["C_Id"];
            ticketBookingViewModel.BookingTime = DateTime.Now;
            ticketBookingViewModel.JourneyDate = (DateTime)TempData["Doj"];
            int    trainNo   = (int)TempData["T_No"];
            string className = TempData["C_Name"].ToString();

            if (ModelState.IsValid)
            {
                TicketBooking ticketBooking = AutoMapper.Mapper.Map <TicketBookingViewModel, TicketBooking>(ticketBookingViewModel);
                if (!ticketBookingBL.AddBookingDetails(ticketBooking))
                {
                    return(RedirectToAction("BookTicket"));
                }
                TempData["BookingId"] = ticketBooking.BookingId;
                //TempData["Doj"] = ticketBooking.JourneyDate;
                TempData["NoOfSeats"] = (int)TempData["Seat"];
                //int seat = (int)TempData["Seat"];
                TempData["TrainNo"]   = trainNo;
                TempData["ClassName"] = className;
                //return RedirectToAction("AddPassenger", "TicketBooking", new { @trainNo = trainNo, @className = className});
                return(RedirectToAction("AddPassenger", "TicketBooking"));
            }
            //TempData["TrainId"] = (int)TempData["T_Id"];
            //TempData["ClassId"] = (int)TempData["C_Id"];
            return(RedirectToAction("BookTicket"));
        }
Esempio n. 2
0
 /// <summary>
 /// 显示关联成人订单号
 /// </summary>
 /// <param name="tvm"></param>
 internal static void ShowRelationOrderNoWindow(TicketBookingViewModel tvm)
 {
     DispatcherHelper.UIDispatcher.Invoke(new Action(() =>
     {
         var window         = new RelationOrderNoWindow();
         var vm             = new RelationOrderNoViewModel(tvm);
         window.Owner       = Application.Current.MainWindow;
         window.DataContext = vm;
         window.ShowDialog();
         //if (call != null)
         //    call(result);
         window.DataContext = null;
     }));
 }
Esempio n. 3
0
        /// <summary>
        /// 显示常用乘客信息窗体
        /// </summary>
        /// <param name="tvm"></param>
        /// <param name="call"></param>
        internal static void ShowUsualPassengers(TicketBookingViewModel tvm, Action <bool?> call = null)
        {
            DispatcherHelper.UIDispatcher.Invoke(new Action(() =>
            {
                var window         = new UsualPassengersWindow();
                var vm             = new UsualPassengersViewModel(tvm);
                window.Owner       = Application.Current.MainWindow;
                window.DataContext = vm;
                var result         = window.ShowDialog();

                if (call != null)
                {
                    call(result);
                }
                window.DataContext = null;
            }));
        }
Esempio n. 4
0
        /// <summary>
        /// 显示机票预订窗口
        /// </summary>
        /// <param name="flights"></param>
        /// <param name="call"></param>
        /// <param name="closeWindowMsg"></param>
        internal static void ShowTicketBooking(FlightInfoModel[] flights, Site site, Action <bool?> call, string closeWindowMsg = null)
        {
            var window = new TicketBookingWindow {
                Owner = Application.Current.MainWindow
            };

            var vm = new TicketBookingViewModel(flights, site);

            window.DataContext = vm;
            var result = window.ShowDialog();

            if (call != null)
            {
                call(result);
            }

            window.DataContext = null;
            if (_backwindow != null)
            {
                _backwindow.Close();
            }
        }