public static void SaveCinemaSchedules(CinemaScheduleViewModel cinemaSchedule, string userName)
        {
            Movie movie = db.Movie.Find(cinemaSchedule.MovieId);

            if (movie != null)
            {
                List <DateTime> dateTimes = GenerateDatetimes(cinemaSchedule.BeginDatetime, cinemaSchedule.FinishDatetime,
                                                              cinemaSchedule.BeginTime, (int)cinemaSchedule.HoursRange);

                IList <CinemaSchedule> cinemaSchedules;
                cinemaSchedules = GenerateCinemaSchedules(cinemaSchedule, dateTimes, (int)movie.DurationTime.TotalMinutes);
                db.CinemaSchedule.AddRange(cinemaSchedules);
                db.SaveChanges();

                foreach (var schedule in cinemaSchedules)
                {
                    db.CinemaScheduleHistory.Add(new CinemaScheduleHistory()
                    {
                        CinemaScheduleId    = schedule.CinemaScheduleId,
                        CinemaScheduleState = 1,
                        Description         = "Se crea nueva cartelera",
                        JsonDetails         = "",
                        ModificationDate    = DateTime.Now,
                        TicketId            = 0,
                        UserName            = userName
                    });
                }
                db.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        public ActionResult Index(string scheduleDate)
        {
            CinemaScheduleViewModel cinemasSchedulesView = null;

            if (ModelState.IsValid)
            {
                var cinemaSessions = _cinemaSessionService.GetCinemasSessions(DateTime.Parse(scheduleDate));
                cinemasSchedulesView = new CinemaScheduleViewModel(cinemaSessions.OrderBy(order => order.Cinema.CinemaName).ToList(), scheduleDate);
            }
            return(View(cinemasSchedulesView));
        }
        public ActionResult Create(CinemaScheduleViewModel cinemaSchedule)
        {
            if (ModelState.IsValid)
            {
                CinemaSchedulerManager.SaveCinemaSchedules(cinemaSchedule, User.Identity.GetUserName());
                return(RedirectToAction("Index"));
            }

            ViewBag.MovieId       = new SelectList(db.Movie, "MovieId", "Name", cinemaSchedule.MovieId);
            ViewBag.MovieFormatId = new SelectList(db.MovieFormat, "MovieFormatId", "Name", cinemaSchedule.MovieFormatId);
            return(View(cinemaSchedule));
        }
        private static IList <CinemaSchedule> GenerateCinemaSchedules(CinemaScheduleViewModel cinemaSchedule, List <DateTime> dates, int durationMovie)
        {
            IList <CinemaSchedule> cinemaSchedules = new List <CinemaSchedule>();

            foreach (var date in dates)
            {
                CinemaSchedule scheduler = new CinemaSchedule()
                {
                    BeginDatetime = date,
                    CinemaId      = cinemaSchedule.CinemaId,
                    MovieFormatId = cinemaSchedule.MovieFormatId,
                    MovieId       = cinemaSchedule.MovieId
                };
                scheduler.FinishDatetime = scheduler.BeginDatetime.AddMinutes(durationMovie);
                cinemaSchedules.Add(scheduler);
            }

            return(cinemaSchedules);
        }
 public CinemaSchedulePage(int cinemaId)
 {
     InitializeComponent();
     BindingContext = _viewModel = new CinemaScheduleViewModel();
     _viewModel.Init(cinemaId);
 }