public ActionResult Edit(SeanceViewModel seance) { if (ModelState.IsValid) { try { seanceService.UpdateSeance(seance); seanceService.UpdateSeanceContents(seance); System.Web.HttpContext.Current.Session[SESSION_UV] = true; return(RedirectToAction("Edit")); } catch (ScheduleException ex) { ViewBag.ScheduleError = ex.Message; return(View(seance)); } } else { return(View(seance)); } }
public ActionResult UpdateTimes(SeanceViewModel seanceVM) { seanceService.UpdateSeanceTimes(seanceVM); System.Web.HttpContext.Current.Session[SESSION_UV] = true; return(Json(new { success = true })); }
public SeanceView() { InitializeComponent(); viewModel = new SeanceViewModel(this); comboBoxHall.Text = GetHall(); comboBoxMovie.Text = GetMovie(); comboBoxHall.Items.AddRange(GetHallsArray()); comboBoxMovie.Items.AddRange(GetMoviesArray()); dateTimePicker.Value = GetDate(); }
public async Task <IActionResult> Create() { SeanceViewModel mymodel = new SeanceViewModel(); mymodel.seance = new Model.Seance(); mymodel.Professeurs = await _context.Professeur.ToListAsync(); mymodel.Classes = await _context.Classe.ToListAsync(); mymodel.Salles = await _context.Salle.ToListAsync(); return(View(mymodel)); }
public void CreateSeance_InvalidTimes_ThrowsException() { // Arrange. SeanceViewModel svm = new SeanceViewModel() { Titre = "Test Séance 1", HeureDebut = new DateTime(2020, 1, 1, 12, 0, 0), HeureFin = new DateTime(2020, 1, 1, 12, 0, 0), SalleID = 1 }; // Act. // Assert. Assert.ThrowsException <ScheduleException>(() => service.CreateSeance(svm)); }
public ActionResult Details(long?seanceId, bool isCommon) { if (seanceId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SeanceDomainModel seanceDomianModel = _seanceService.ReadById(seanceId); SeanceViewModel seanceViewModel = Mapper.Map <SeanceDomainModel, SeanceViewModel>(seanceDomianModel); if (seanceViewModel == null) { return(HttpNotFound()); } return(PartialView(isCommon ? "_Details" : "_DetailsPartial", seanceViewModel)); }
public void EditSeance_ConflictedSeance_ThrowsException() { // Arrange. SeanceViewModel svm = new SeanceViewModel() { SeanceID = 1, Titre = "Test Séance Changed", HeureDebut = new DateTime(2020, 1, 1, 15, 0, 0), HeureFin = new DateTime(2020, 1, 1, 18, 0, 0), SalleID = 1 }; // Act. // Assert. Assert.ThrowsException <ScheduleException>(() => service.UpdateSeance(svm)); }
public void CreateSeance_ValidSeance_Successful() { // Arrange. SeanceViewModel svm = new SeanceViewModel() { Titre = "Test Séance", HeureDebut = new DateTime(2020, 1, 2, 12, 00, 00), HeureFin = new DateTime(2020, 1, 2, 15, 00, 00), SalleID = 1 }; // Act. service.CreateSeance(svm); // Assert. Assert.AreEqual(4, service.GetSeancesBySalle(1).ToList().Count); }
/// <summary> /// An action returning a page with a list of all seances in an event /// </summary> /// <param name="id">The id of the event to show seances for</param> /// <returns>If user is in the event: Returns a page to view seances for the event</returns> public ActionResult Seances(int id) { //Get event and make sure user is in it MeetupModel model = new MeetupModel(); int? infoId = this.UserId(); if (infoId is null) { return(RedirectToAction("Index", "Home")); } SeanceViewModel viewModel = new SeanceViewModel(); viewModel.Event = model.Events.SingleOrDefault(e => e.Id == id && (e.HostUserId == infoId || e.Invites.Any(u => u.UserId == infoId))); if (viewModel.Event is null) { return(RedirectToAction("Index", "Home")); } //sort seance list List <Seance> seances = viewModel.Event.Seances.ToList(); List <Seance> sortedMeetings = new List <Seance>(); foreach (Seance meeting in seances) { bool sorted = false; for (int i = 0; i < sortedMeetings.Count; i++) { if (meeting.MeetingNumber < sortedMeetings[i].MeetingNumber) { sortedMeetings.Insert(i, meeting); sorted = true; break; } } if (!sorted) { sortedMeetings.Add(meeting); } } viewModel.Seances = viewModel.Event.Seances.ToList(); viewModel.UserId = infoId.Value; return(View(viewModel)); }
public void EditSeance_ValidSeance_Succesful() { // Arrange. SeanceViewModel svm = new SeanceViewModel() { SeanceID = 1, Titre = "Test Séance Changed", HeureDebut = new DateTime(2020, 1, 1, 12, 0, 0), HeureFin = new DateTime(2020, 1, 1, 15, 0, 0), SalleID = 1 }; // Act. service.UpdateSeance(svm); // Assert. Assert.AreEqual(svm.Titre, service.GetSeance(svm.SeanceID).Titre); }
public ActionResult Edit(SeanceViewModel seanceViewModel) { if (seanceViewModel == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (!ModelState.IsValid) { return(PartialView("_EditPartial", seanceViewModel)); } SeanceDomainModel seanceDomainModel = Mapper.Map <SeanceViewModel, SeanceDomainModel>(seanceViewModel); _seanceService.Update(seanceDomainModel); var url = Url.Action("List", "Seance", routeValues: new { filmId = seanceViewModel.FilmId }); return(Json(new { success = true, url = url, replaceTarget = "#SeanceList" })); }
public ActionResult Edit(long?seanceId) { if (seanceId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SeanceDomainModel seanceDomianModel = _seanceService.ReadById(seanceId); SeanceViewModel seanceViewModel = Mapper.Map <SeanceDomainModel, SeanceViewModel>(seanceDomianModel); if (seanceViewModel == null) { return(HttpNotFound()); } IEnumerable <SelectListItem> hallsCinemas = GetHallsCinemas(); ViewBag.HallsCinemas = hallsCinemas; return(PartialView("_EditPartial", seanceViewModel)); }
public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } SeanceViewModel mymodel = new SeanceViewModel(); mymodel.seance = await _context.Seance .FirstOrDefaultAsync(m => m.IdSeance == id); mymodel.NomProfesseur = _context.Professeur.Find(mymodel.seance.ProfesseurId).Nom + " " + _context.Professeur.Find(mymodel.seance.ProfesseurId).Prenom; mymodel.LibelleClasse = _context.Classe.Find(mymodel.seance.ClasseId).Libelle; mymodel.LibelleSalle = _context.Salle.Find(mymodel.seance.IdSalle).Libelle; if (mymodel.seance == null) { return(NotFound()); } return(View(mymodel)); }
public async Task <ActionResult> CreateSeance(int?cinemaId) { if (cinemaId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Cinema hall = await db.Cinemas.FindAsync(c => c.Id == cinemaId); SeanceViewModel svm = new SeanceViewModel(); if (hall == null) { return(HttpNotFound()); } svm.CinemaName = hall.Name; await PopulateSvmDropdownLists(cinemaId); return(View(svm)); }
public async Task <ActionResult> CreateSeance(SeanceViewModel svm) { if (ModelState.IsValid) { Hall hall = await db.Halls.FindAsync(h => h.Id == svm.Hall_ID); Movie movie = await db.Movies.FindAsync(m => m.Id == svm.Movie_ID); if (hall == null || movie == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } for (; svm.StartDate <= svm.EndDate; svm.StartDate = svm.StartDate.AddDays(1)) { Seance seance = new Seance { Date = svm.StartDate, Time = svm.Time, SeatsLeft = hall.Seats, Price = svm.Price, MovieId = svm.Movie_ID, HallId = svm.Hall_ID }; seance.Movie = movie; seance.Hall = hall; await db.Seances.InsertAsync(seance); } //Create seats to order for seances await CreateSeats(); TempData["message"] = string.Format("Seances have been saved"); return(RedirectToAction("ViewSeances", new { cinemaId = hall.CinemaId })); } else { TempData["message"] = string.Format("Seance hasn't been saved"); return(View()); } }
public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } SeanceViewModel mymodel = new SeanceViewModel(); mymodel.seance = await _context.Seance .FirstOrDefaultAsync(m => m.IdSeance == id); mymodel.Professeurs = await _context.Professeur.ToListAsync(); mymodel.Classes = await _context.Classe.ToListAsync(); mymodel.Salles = await _context.Salle.ToListAsync(); if (mymodel.seance == null) { return(NotFound()); } return(View(mymodel)); }
public ActionResult Create(CreateSeanceViewModel createSeanceViewModel) { if (createSeanceViewModel == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (!ModelState.IsValid) { ViewBag.HallsCinemas = GetHallsCinemas(); return(PartialView("_CreatePartial", createSeanceViewModel)); } if (createSeanceViewModel.IsMultipleDateSelect) { var startDate = DateTime.ParseExact(createSeanceViewModel.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture); var endDate = DateTime.ParseExact(createSeanceViewModel.EndDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); for (var date = startDate; date <= endDate; date = date.AddDays(1.0)) { SeanceViewModel baseSeanceViewModel = createSeanceViewModel; SeanceDomainModel newSeanceDomainModel = Mapper.Map <SeanceViewModel, SeanceDomainModel>(baseSeanceViewModel); newSeanceDomainModel.Date = date; _seanceService.Add(newSeanceDomainModel); } } else { SeanceViewModel seanceViewModel = createSeanceViewModel; SeanceDomainModel seanceDomainModel = Mapper.Map <SeanceViewModel, SeanceDomainModel>(seanceViewModel); _seanceService.Add(seanceDomainModel); } var url = Url.Action("List", "Seance", routeValues: new { filmId = createSeanceViewModel.FilmId }); return(Json(new { success = true, url = url, replaceTarget = "#SeanceList" })); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SeanceViewModel seance = seanceService.GetSeance(id.Value); if (System.Web.HttpContext.Current.Session[SESSION_UV] != null) { if ((bool)System.Web.HttpContext.Current.Session[SESSION_UV]) { ViewBag.UnsavedChanges = true; } } if (TempData["DuplicateError"] != null) { ViewBag.DuplicateError = TempData["DuplicateError"]; } return(View(seance)); }
public ActionResult Create(SeanceViewModel seance) { if (seance.Multiples) { int chiffreFreq = seance.ChiffreFreq; DateTime dateDebutHeureDebut = seance.DateDebutHeureDebut; DateTime dateDebutHeureFin = seance.DateDebutHeureFin; DateTime dateFin = seance.DateFin; int nbSeances = seance.NbSeances; if (seance.TypeFreq == "Jour") { for (int i = 0; i < nbSeances; i++) { if (i == 0) { seance.HeureDebut = dateDebutHeureDebut; seance.HeureFin = dateDebutHeureFin; } else { seance.HeureDebut = seance.HeureDebut.AddDays(chiffreFreq); seance.HeureFin = seance.HeureFin.AddDays(chiffreFreq); } seanceService.CreateSeance(seance); } } else if (seance.TypeFreq == "Semaine") { if (seance.JoursSem != null) { string[] joursSem = new string[seance.JoursSem.Length]; int numJour = 0; for (int i = 0; i < joursSem.Length; i++) { joursSem[i] = getJourSemaine(int.Parse(seance.JoursSem[i])); } while (dateDebutHeureDebut <= dateFin) { for (int i = 0; i < joursSem.Length; i++) { if (joursSem[i] == dateDebutHeureDebut.DayOfWeek.ToString()) { numJour = i; seance.HeureDebut = dateDebutHeureDebut; seance.HeureFin = dateDebutHeureFin; seanceService.CreateSeance(seance); } } if (seance.ChiffreFreq > 1 && numJour == joursSem.Length - 1) { numJour = 0; dateDebutHeureDebut = dateDebutHeureDebut.AddDays(7 * (chiffreFreq - 1) + 1); dateDebutHeureFin = dateDebutHeureFin.AddDays(7 * (chiffreFreq - 1) + 1); } else { dateDebutHeureDebut = dateDebutHeureDebut.AddDays(1); dateDebutHeureFin = dateDebutHeureFin.AddDays(1); } } } } } else { seanceService.CreateSeance(seance); } System.Web.HttpContext.Current.Session[SESSION_UV] = true; return(Json(new { success = true })); }