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(); }
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)); }