public void GenerateMovieHallDetails()
        {
            Status seatstatus;

            var MovieHallData = from h in db.Hall
                                join mh in db.MovieHall on h.HallId equals mh.HallId
                                join m in db.Movie on mh.MovieId equals m.MovieId
                                where m.MovieAvailability == true
                                select new
            {
                MovieHallId = mh.MovieHallId,
                TotalRow    = h.TotalRow,
                TotalColumn = h.TotalColumn,
                HallId      = h.HallId,
            };

            foreach (var item in MovieHallData)
            {
                for (int i = 1; i <= item.TotalRow; i++)
                {
                    for (int x = 1; x <= item.TotalColumn; x++)
                    {
                        Random rng = new Random();
                        int    k   = rng.Next(0, 10);
                        Thread.Sleep(5);
                        if (k > 3)
                        {
                            seatstatus = Status.E;
                        }
                        else
                        {
                            seatstatus = Status.T;
                        }
                        Thread.Sleep(5);
                        MovieHallDetails moviehalldetails = new MovieHallDetails();
                        moviehalldetails.MovieHallId   = item.MovieHallId;
                        moviehalldetails.Seat          = i + "," + x;
                        moviehalldetails.SeatStatus    = seatstatus;
                        moviehalldetails.UserDetailsId = null;
                        db.MovieHallDetails.Add(moviehalldetails);
                    }
                }
            }
            Save();
        }
        public MovieHallDetails GetMovieHallDetail(int Id)
        {
            MovieHallDetails mhd = db.MovieHallDetails.Find(Id);

            return(mhd);
        }
 public void AddMovieHallDetails(MovieHallDetails moviehalldetails)
 {
     db.MovieHallDetails.Add(moviehalldetails);
     Save();
 }
 public void UpdateMovieHallDetailsSeat(MovieHallDetails mhd)
 {
     db.Entry(mhd).State = EntityState.Modified;
     Save();
 }
示例#5
0
 public void Put(MovieHallDetails mhd)
 {
     cinemaRepo.UpdateMovieHallDetailsSeat(mhd);
 }
示例#6
0
 public void UpdateSeatToCart(MovieHallDetails Id)
 {
     cinemaRepo.UpdateMovieHallDetailsSeat(Id);
 }
示例#7
0
        public ActionResult UpdateCart(string Seat)
        {
            AppDbContext db = new AppDbContext();

            int UserDetailsId = UserIdSession();
            int MovieId       = MovieSessionId();
            int MovieHallId   = MovieHallIdSession();

            //Replacing Empty / Taken Seat
            var replaceEmptyOrTakenSeat = db.MovieHallDetails.Where(d => d.Seat == Seat && d.MovieHallId == MovieHallId).SingleOrDefault();

            //Get Movie Data
            Movie MovieData = GetMovieData();

            //Get Current Hall Data
            Hall HallData = GetHallData();

            //Get Current Movie Hall Data
            MovieHall MovieHallData = GetMovieHallData();

            //Get Current User Data
            UserDetails UserDetails = GetUserDetails();

            //Ticket Total Price
            double TicketTotal = GetTicketPrice();

            //Calculate minimum balance needed for ticket
            if (TicketTotal + MovieData.TicketPrice > UserDetails.Balance && replaceEmptyOrTakenSeat.SeatStatus == Status.E)
            {
                return(Json(new { Button = true, Msg = UserDetails.Name + " , you need minimum RM" + (MovieData.TicketPrice - Convert.ToDouble(Session["BalanceCount"])) + " to buy seat " + "(" + Seat + ")" }, JsonRequestBehavior.AllowGet));
            }
            int mhdId = replaceEmptyOrTakenSeat.Id;

            if (replaceEmptyOrTakenSeat.UserDetailsId == null)
            {
                //Current Seat Id

                MovieHallDetails mhd = new MovieHallDetails
                {
                    Id            = mhdId,
                    MovieHallId   = MovieHallId,
                    Seat          = Seat,
                    SeatStatus    = Status.A,
                    UserDetailsId = UserDetailsId
                };

                response = GlobalVariables.WebApiClient.PutAsJsonAsync($"{MovieHallDetailsController}/{mhdId}", mhd).Result;

                UserCart cart = new UserCart()
                {
                    UserDetailsId = UserDetailsId,
                    MovieHallsId  = MovieHallId,
                    MovieTitle    = MovieData.MovieTitle,
                    MovieDateTime = MovieHallData.MovieDateTime,
                    HallNo        = HallData.HallNo,
                    TicketPrice   = MovieData.TicketPrice,
                    Seat          = Seat,
                    ConfirmCart   = false
                };

                response = GlobalVariables.WebApiClient.PostAsJsonAsync($"{UserCartController}", cart).Result;
                return(Json(JsonRequestBehavior.AllowGet));
            }
            else
            {
                var removeCart = db.UserCarts.Where(d => d.Seat == Seat && d.UserDetailsId == UserDetailsId && d.MovieHallsId == MovieHallId).SingleOrDefault();
                response = GlobalVariables.WebApiClient.DeleteAsync($"{UserCartController}/{removeCart.Id}").Result;

                MovieHallDetails mhd = new MovieHallDetails
                {
                    Id            = mhdId,
                    MovieHallId   = MovieHallId,
                    Seat          = Seat,
                    SeatStatus    = Status.E,
                    UserDetailsId = null
                };
                response = GlobalVariables.WebApiClient.PutAsJsonAsync($"{MovieHallDetailsController}/{mhdId}", mhd).Result;
                return(Json(JsonRequestBehavior.AllowGet));
            }
        }
        // GET: api/MovieHallDetails/5
        public MovieHallDetails Get(int id)
        {
            MovieHallDetails mhd = cinemaRepo.GetMovieHallDetail(id);

            return(mhd);
        }