Ejemplo n.º 1
0
        public static SeatsViewModel GetSeatInPlane(string IdPlane)
        {
            var entity = new QUANLIXEContext();

            if (String.IsNullOrEmpty(IdPlane) || entity.Plane.FirstOrDefault(p => p.IdPlane == IdPlane) == null)
            {
                return(new SeatsViewModel());
            }

            var plane = entity.Plane.FirstOrDefault(t => t.IdPlane == IdPlane);

            try
            {
                var query = (from p in entity.BookedSeat
                             select new SeatViewModel()
                {
                    Col = p.Col,
                    Row = p.Row,
                    IdSeat = p.IdSeat
                }).ToList();
                SeatsViewModel seats = new SeatsViewModel(query, plane.IdPlane, plane.Rows, plane.Cols);
                return(seats);
            }
            catch (Exception)
            {
                entity.Dispose();
                return(new SeatsViewModel());
            }
            //List<List<SeatsViewModel>> seatMatrix = new List<List<SeatsViewModel>>();
            //VIET HAMF KT VI TRI DO CO GHE TRONG KO
        }
Ejemplo n.º 2
0
 public static bool IsAvailableSeat(int row, int col, SeatsViewModel seats)
 {
     foreach (var item in seats.UnvaliableSeat)
     {
         if (row == item.Row && col == item.Col)
         {
             return(false);
         }
     }
     return(true);
 }
        public IActionResult Booking(SeatsViewModel viewModel, Int32 movieId)
        {
            var  seatsInDatab = _service.GetSeatsByScreeningId(viewModel.ScreeningId);
            bool modelValid   = false;

            foreach (var seat in seatsInDatab)
            {
                if (seat.Status != viewModel.Seats[seat.Row][seat.Column])
                {
                    modelValid = true;
                    break;
                }
            }

            if (!modelValid)
            {
                ModelState.AddModelError("SeatBooked", "Must select booked seats.");
            }

            if (ModelState.IsValid)
            {
                foreach (var seat in seatsInDatab)
                {
                    if (seat.Status != viewModel.Seats[seat.Row][seat.Column])
                    {
                        var upSeat = new Seat
                        {
                            Id          = seat.Id,
                            ScreeningId = seat.ScreeningId,
                            RoomId      = seat.RoomId,
                            Row         = seat.Row,
                            Column      = seat.Column,
                            Status      = viewModel.Seats[seat.Row][seat.Column],
                            BookerName  = viewModel.BookerName,
                            PhoneNumber = viewModel.PhoneNumber
                        };
                        _service.UpdateSeat(upSeat);
                    }
                }

                return(RedirectToAction("Success"));
            }

            ViewData["Screening"] = _service.GetScreening(viewModel.ScreeningId);
            ViewData["Room"]      = _service.GetRoom(viewModel.RoomId);
            ViewData["Movie"]     = _service.GetMovie(movieId);
            ViewData["Seats"]     = _service.GetSeatsByScreeningId(viewModel.ScreeningId);
            return(View(viewModel));
        }