public bool AddTicketToDB(Film film, int customerID, int timeSessionFilm, SeatState seatState)
        {
            //get time session
            BookingTicket result = new BookingTicket();

            try
            {
                var resultTimeSession = _timeSessionRepository.GetSingleById(timeSessionFilm);

                //ticket detail
                result.BookingTicketPrefix     = "TIC";
                result.BookingTicketFilmID     = film.FilmID;
                result.BookingTicketPrice      = 0;
                result.BookingTicketRoomID     = 1;
                result.BookingPaymentDate      = DateTime.Now;
                result.BookingTicketStatusID   = StatusCommonConstrants.ACTIVE;
                result.BookingTicketTimeDetail = resultTimeSession.TimeDetail;
                result.CustomerID = customerID;

                //state seat detail
                resultTimeSession.SeatTableState = BookingTimeHelpers.ConvertBookingSessionToJson(seatState);

                //add
                _bookingTicketRepository.Add(result);
                _unitOfWork.Commit();
                return(true);
            }
            catch (Exception ex)
            {
                _unitOfWork.RollbackTran();
                return(false);
            }
            return(false);
        }
        public JsonResult UpdateSeatUserTake(int?xLocation, int?yLocation, int?sessionFilm, string ticketValue)
        {
            //Check null
            if (xLocation == null || yLocation == null || sessionFilm == null)
            {
                return(Json(new
                {
                    status = "KO"
                }, JsonRequestBehavior.AllowGet));
            }

            //Lấy thông tin time session của phim
            var result = _timeSessionService.Find((int)sessionFilm);

            //serial ticket list - Mã hóa state ghế hiện tại theo các ghế được đặt
            JavaScriptSerializer      serial    = new JavaScriptSerializer();
            List <TicketSubmitDetail> lstTicket = serial.Deserialize <List <TicketSubmitDetail> >(ticketValue);

            //Mã hóa về seat state
            SeatState sumary = BookingTimeHelpers.ConvertJsontoBookingTime(result.SeatTableState);

            foreach (var item in lstTicket)
            {
                sumary = BookingTimeHelpers.ChangeStateSeat(Convert.ToInt32(item.xLocation),
                                                            Convert.ToInt32(item.yLocation), 0, sumary);
            }
            //lấy customer ID
            var customerId = _customerService.FindCustomerID(User.Identity.GetUserId());

            if (customerId == 0)
            {
                return(Json(new
                {
                    status = "KO",
                }, JsonRequestBehavior.AllowGet));
            }

            //lấy film detail
            var filmDetail = (Film)Session["FilmDetailSendTicket"];

            //insert dữ liệu vào database
            var resultState = _bookingTicketService.AddTicketToDB(filmDetail, customerId, result.TimeSessionID, sumary);

            //kiểm tra kết quả insert
            if (resultState)
            {
                SeatRoomStateFilmHub.UpdateSeatState();
                return(Json(new
                {
                    status = "OK",
                    x = xLocation,
                    y = yLocation,
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new
                {
                    status = "KO",
                }, JsonRequestBehavior.AllowGet));
            }
            //var filmDetail = (Film)Session["FilmDetailSendTicket"];

            ////detail prepare: FilmID, RoomID, TimeDetail, Prices,Payments Day, CustomerID, statusID, seattable state


            //_timeSessionService.SaveChanges();
        }
Ejemplo n.º 3
0
        public static string GenerateSeatState()
        {
            BookingPlan result = new BookingPlan();

            result.DateQuantity = 10;

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "9:20",
                TimeBookingID     = 1,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "11:30",
                TimeBookingID     = 2,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "13:40",
                TimeBookingID     = 3,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "15:50",
                TimeBookingID     = 4,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "18:00",
                TimeBookingID     = 5,
            });
            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "18:50",
                TimeBookingID     = 6,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "20:10",
                TimeBookingID     = 7,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "20:10",
                TimeBookingID     = 8,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "21:00",
                TimeBookingID     = 9,
            });

            result.BookingTicketCalendar.Add(new BookingTime()
            {
                TimeBookingDetail = "22:20",
                TimeBookingID     = 10,
            });

            BookingPlanTime res = new BookingPlanTime();

            res.BookingTicketTime.Add(result);

            int i = 1;

            foreach (var item in res.BookingTicketTime)
            {
                for (int j = 0; j < item.BookingTicketCalendar.Count; j++)
                {
                    item.BookingTicketCalendar[j].TimeBookingID = i;
                    i++;
                }
            }

            return(BookingTimeHelpers.ConvertCalendarToJson(res));
        }