Beispiel #1
0
        public RoomLoadViewModel GetRoomLoad(int seanceId)
        {
            RoomLoadViewModel rl     = new RoomLoadViewModel();
            SEANS             seance = GetSeanceById(seanceId);
            SALA r = GetRoomById(seance.FK_IdSali);

            rl.RoomId         = r.IdSali;
            rl.AirConditioner = r.Klimatyzacja;
            rl.RoomName       = r.NazwaSali;
            rl.SeatsCount     = r.MIEJSCE.Count();

            var seats     = r.MIEJSCE.OrderBy(rd => rd.Rzad).ThenBy(rd => rd.Miejsce1);
            var busySeats = from s in db.MIEJSCE
                            join b in db.WYKUP_BILET on s.IdMiejsca equals b.FK_IdMiejsca
                            join se in db.SEANS on b.FK_IdSeansu equals se.IdSeansu
                            where se.IdSeansu == seanceId
                            select s;

            var emptySeats = seats.Except(busySeats);

            rl.BusySeatsCount  = busySeats.Count();
            rl.EmptySeatsCount = emptySeats.Count();
            var rows = from s in seats
                       select s.Rzad;
            var rowMaxNr = rows.Max();

            rl.RowsCount = rowMaxNr;
            var srList = new List <SeatsRow>();

            for (int i = 0; i < rowMaxNr; i++)
            {
                srList.Add(new SeatsRow());
                srList.ElementAt(i).Seats     = new List <MIEJSCE>();
                srList.ElementAt(i).RowNumber = i + 1;
            }
            rl.SeatStatuses = new Dictionary <int, bool>();
            foreach (MIEJSCE s in seats)
            {
                srList.ElementAt(s.Rzad - 1).Seats.Add(s);
            }
            foreach (MIEJSCE s in emptySeats)
            {
                rl.SeatStatuses.Add(s.IdMiejsca, false);
            }
            foreach (MIEJSCE s in busySeats)
            {
                rl.SeatStatuses.Add(s.IdMiejsca, true);
            }
            rl.Rows = srList;

            rl.MovieDuration = (System.TimeSpan)seance.FILM.CzasTrwania;
            rl.MovieTitle    = seance.FILM.NazwaFilmuPL;
            rl.SeanceDate    = seance.SeansData;
            rl.SeanceTime    = seance.SeansGodzina;
            rl.MovieType     = seance.FILM.RodzajFilmu;
            rl.SeanceId      = seance.IdSeansu;

            return(rl);
        }
Beispiel #2
0
 public SEANS UpdateSeance(SEANS s)
 {
     db.Entry(s).State = EntityState.Modified;
     return(s);
 }
Beispiel #3
0
 public void DeleteSeance(SEANS s)
 {
     db.SEANS.Remove(s);
 }
Beispiel #4
0
 public SEANS AddSeance(SEANS s)
 {
     db.SEANS.Add(s);
     return(s);
 }
Beispiel #5
0
 public void DeleteSeance(SEANS s)
 {
     db.SEANS.Remove(s);
 }
Beispiel #6
0
 public SEANS UpdateSeance(SEANS s)
 {
     db.Entry(s).State = EntityState.Modified;
     return s;
 }
Beispiel #7
0
 public SEANS AddSeance(SEANS s)
 {
     db.SEANS.Add(s);
     return s;
 }
Beispiel #8
0
        public ActionResult EditSeance(SEANS model)
        {
            int roomId = Int32.Parse(Request.Form["Room"]);
            int movieId = Int32.Parse(Request.Form["Movie"]);
            if(ModelState.IsValid)
            {
                
                model.FK_IdSali = roomId;
                model.FK_IdFilmu = movieId;
                repository.UpdateSeance(model);
                repository.Save();
                return RedirectToAction("Seances");
            }
            else
            {
                List<SelectListItem> roomSelectList = new List<SelectListItem>();
                var roomsDict = repository.GetRoomNamesAndIds();
                foreach (KeyValuePair<int, string> el in roomsDict)
                {

                    roomSelectList.Add(new SelectListItem { Text = el.Value, Value = el.Key.ToString() });
                }

                List<SelectListItem> movieSelectList = new List<SelectListItem>();
                var moviesDict = repository.GetMovieTitlesAndIds();
                foreach (KeyValuePair<int, string> el in moviesDict)
                {
                    movieSelectList.Add(new SelectListItem { Text = el.Value, Value = el.Key.ToString() });
                }
                roomSelectList.FirstOrDefault(rs => Int32.Parse(rs.Value) == roomId).Selected = true;
                movieSelectList.FirstOrDefault(ms => Int32.Parse(ms.Value) == movieId).Selected = true;
                ViewBag.Room = roomSelectList;
                ViewBag.Movie = movieSelectList;
                return View(model);
            }
        }