public ActionResult BookSeats(CartModel Model)
        {
            var success = false;
            var message = Resources.ErrorGeneral;

            if (Model != null && Model.Tickets != null && Model.Tickets.Any())
            {
                var xmlInputModel = new TicketBooking
                {
                    CustomerID = CurrentUser.ID,
                    StockCode  = 1,
                    Details    = Model.Tickets.Select(t => new TicketBookingDetail
                    {
                        ScheduleID    = t.SessionID,
                        SeatID        = t.SeatID,
                        IsPaidBooking = false
                    }).ToList()
                };

                OrderRepo.TX_Order(2, xmlInputModel.ToXml());

                if (!OrderRepo.IsError)
                {
                    success = true;
                    message = Resources.OperationSuccessful;
                }
            }

            return(Json(new { Success = success, Message = message }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public bool AddBookings(long CustomerID, int StockID, Schedule Schedule, List <SeatStatusChange> Seats, Guid MachineID)
        {
            long operatorID;

            SecuredUsers.Items.TryGetValue(Context.ConnectionId, out operatorID);

            var xmlInputModel = new TicketBooking
            {
                OperatorID = operatorID,
                CustomerID = CustomerID,
                StockID    = StockID,
                Details    = Seats.Select(t => new TicketBookingDetail
                {
                    ScheduleID    = Schedule.ID,
                    SeatID        = t.SeatID,
                    IsPaidBooking = t.IsPaidBooking
                }).ToList()
            };

            var repo = new Order();

            repo.TX_Order(2, xmlInputModel.ToXml());

            if (!repo.IsError)
            {
                Clients.All.RemoteReserveSeats(Schedule, Seats, MachineID);
            }

            return(!repo.IsError);
        }