public ActionResult Create([Bind(Include = "Id,Nom,Description,Actif,lstSalle")] Evenement evenement, int Congres, string DateConference, string HeureDebut, string HeureFin, int? lstSalle) { evenement.Salle = unitOfWork.SalleRepository.ObtenirSalleParID(lstSalle); DateTime dateEvenement; int heureDebut; int heureFin; ViewBag.Congres = new SelectList(unitOfWork.CongresRepository.ObtenirCongres(), "Id", "Nom"); try { dateEvenement = DateTime.Parse(DateConference); heureDebut = int.Parse(HeureDebut); heureFin = int.Parse(HeureFin); } catch (Exception e) { TempData["message"] = "La date de l'événement doit être une date valide sous le format AAAA-MM-JJ. L'heure de début et l'heure de fin doivent être des chiffres"; return View(evenement); } if (ModelState.IsValid) { //db.Evenements.Add(evenement); //db.SaveChanges(); evenement.TypeEvenement = Evenement.TypeEvent.TypeAutre; evenement.Actif = true; Congres congres = unitOfWork.CongresRepository.ObtenirCongres().Where(u => u.Id.Equals(Congres)).FirstOrDefault(); evenement.Congres = congres; PlageHoraire newPlageHoraire = new PlageHoraire(); DateTime dateEtHeureDebut = dateEvenement.AddHours(heureDebut); DateTime dateEtHeureFin = dateEvenement.AddHours(heureFin); newPlageHoraire.DateEtHeureDebut = dateEtHeureDebut; newPlageHoraire.DateEtHeureFin = dateEtHeureFin; newPlageHoraire.Evenement = evenement; newPlageHoraire.Congres = congres; List<PlageHoraire> lst = new List<PlageHoraire>(); lst.Add(newPlageHoraire); if (!unitOfWork.IsRoomAvailableForTime(evenement, lst)) { // Si la il y a conflit d'horaire pour une pièce.... TempData["message"] = "Il y a conflit d'horaire pour la salle que vous essayez de choisir. Veuillez choisir une autre salle, ou faire votre évènement à un moment différent."; return View(evenement); } unitOfWork.EvenementRepository.Insert(evenement); unitOfWork.Save(); unitOfWork.PlageHoraireRepository.InsertPlageHoraire(newPlageHoraire); unitOfWork.Save(); return RedirectToAction("Index"); } ViewBag.Congres = new SelectList(unitOfWork.CongresRepository.ObtenirCongres(), "Id", "Nom"); SelectList SalleCongres = new SelectList(unitOfWork.SalleRepository.ObtenirSalles(), "Id", "NoSalle"); ViewBag.lstSalle = SalleCongres; return View(evenement); }
public ActionResult Create([Bind(Include = "Id,Nom,Description,TypeEvenement,TypeTournoiId,Actif,lstSalle")] Tournoi tournoi,FormCollection collection,int? lstSalle) { DateTime dateTournoi; int heureDebut; int heureFin; ViewBag.Congres = new SelectList(unitOfWork.CongresRepository.ObtenirCongres(), "Id", "Nom"); SelectList listSalle = new SelectList(unitOfWork.SalleRepository.ObtenirSalles(), "Id", "NoSalle"); SelectList TypeTournoiId = new SelectList(unitOfWork.TypeTournoiRepository.ObtenirTypeTournois(), "Id", "Nom", tournoi.TypeTournoiId); try { dateTournoi = DateTime.Parse(collection["DateTournoi"]); heureDebut = int.Parse(collection["HeureDebut"]); heureFin = int.Parse(collection["HeureFin"]); } catch (Exception e) { TempData["message"] = "La date de l'événement doit être une date valide sous le format AAAA-MM-JJ. L'heure de début et l'heure de fin doivent être des chiffres"; ViewBag.TypeTournoiId = TypeTournoiId; ViewBag.lstSalle = listSalle; return View(tournoi); } if (ModelState.IsValid) { int congresId = int.Parse(collection["Congres"]); Congres congres = unitOfWork.CongresRepository.ObtenirCongres().Where(u => u.Id == congresId).FirstOrDefault(); tournoi.TypeTournoi = unitOfWork.TypeTournoiRepository.ObtenirTypeTournoiParID(tournoi.TypeTournoiId); tournoi.TypeEvenement = Evenement.TypeEvent.TypeTournoi; tournoi.Actif = true; tournoi.Salle = unitOfWork.SalleRepository.ObtenirSalleParID(lstSalle); tournoi.Equipes = new List<Equipe>(); tournoi.Avancements = new List<EquipeAvancement>(); tournoi.Parties = new List<Partie>(); tournoi.Congres = congres; //Creating the plage horaire PlageHoraire newPlageHoraire = new PlageHoraire(); DateTime dateEtHeureDebut = dateTournoi.AddHours(heureDebut); DateTime dateEtHeureFin = dateTournoi.AddHours(heureFin); newPlageHoraire.DateEtHeureDebut = dateEtHeureDebut; newPlageHoraire.DateEtHeureFin = dateEtHeureFin; newPlageHoraire.Evenement = tournoi; newPlageHoraire.Congres = congres; List<PlageHoraire> lst = new List<PlageHoraire>(); lst.Add(newPlageHoraire); if(!unitOfWork.IsRoomAvailableForTime(tournoi, lst)) { // Si la il y a conflit d'horaire pour une pièce.... TempData["message"] = "Il y a conflit d'horaire pour la salle que vous essayez de choisir. Veuillez choisir une autre salle, ou faire votre évènement à un moment différent."; ViewBag.TypeTournoiId = TypeTournoiId; ViewBag.lstSalle = listSalle; return View(tournoi); } unitOfWork.TournoiRepository.InsertTournoi(tournoi); unitOfWork.Save(); unitOfWork.PlageHoraireRepository.InsertPlageHoraire(newPlageHoraire); unitOfWork.Save(); return RedirectToAction("Index"); } ViewBag.TypeTournoiId = TypeTournoiId; ViewBag.lstSalle = lstSalle; return View(tournoi); }
public ActionResult Create([Bind(Include = "Id,Nom,Description,TypeKiosqueId,Actif,lstSection")] Kiosque Kiosque, FormCollection collection,int? lstSection) { Kiosque.Actif = true; DateTime dateKiosque; int heureDebut; int heureFin; ViewBag.Congres = new SelectList(uow.CongresRepository.ObtenirCongres(), "Id", "Nom"); SelectList typesKiosques = new SelectList(uow.TypeKiosqueRepository.ObtenirTypeKiosques(), "Id", "Nom", Kiosque.TypeKiosqueId); try { dateKiosque = DateTime.Parse(collection["DateKiosque"]); heureDebut = int.Parse(collection["HeureDebut"]); heureFin = int.Parse(collection["HeureFin"]); } catch (Exception e) { TempData["message"] = "La date de l'événement doit être une date valide sous le format AAAA-MM-JJ. L'heure de début et l'heure de fin doivent être des chiffres"; ViewBag.TypeKiosqueId = typesKiosques; return View(Kiosque); } if (ModelState.IsValid) { int congresId = int.Parse(collection["Congres"]); Congres congres = uow.CongresRepository.ObtenirCongres().Where(u => u.Id == congresId).FirstOrDefault(); UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(uow.context)); ApplicationUser utilisateur = UserManager.FindById(User.Identity.GetUserId()); if (Kiosque.Users == null) { Kiosque.Users = new List<ApplicationUser>(); } Kiosque.Users.Add(utilisateur); //db.Evenements.Add(Kiosque); //db.SaveChanges(); Kiosque.TypeKiosque = uow.TypeKiosqueRepository.ObtenirTypeKiosqueParID(Kiosque.TypeKiosqueId); Kiosque.TypeEvenement = Evenement.TypeEvent.TypeKiosque; Kiosque.Actif = true; Kiosque.Congres = congres; Kiosque.Salle = uow.SalleRepository.ObtenirSalleParID(lstSection); uow.KiosqueRepository.InsertKiosque(Kiosque); uow.Save(); //Creating the plage horaire PlageHoraire newPlageHoraire = new PlageHoraire(); DateTime dateEtHeureDebut = dateKiosque.AddHours(heureDebut); DateTime dateEtHeureFin = dateKiosque.AddHours(heureFin); newPlageHoraire.DateEtHeureDebut = dateEtHeureDebut; newPlageHoraire.DateEtHeureFin = dateEtHeureFin; newPlageHoraire.Evenement = Kiosque; newPlageHoraire.Congres = congres; uow.PlageHoraireRepository.InsertPlageHoraire(newPlageHoraire); uow.Save(); Transaction nouvelleTransaction = new Transaction(); nouvelleTransaction.DateAchat = DateTime.Now; nouvelleTransaction.Montant = 100; nouvelleTransaction.TypeAchat = "Location d'un kiosque"; uow.TransactionRepository.InsertTransaction(nouvelleTransaction); uow.Save(); return RedirectToAction("Index"); } ViewBag.TypeKiosqueId = typesKiosques; return View(Kiosque); }
public ActionResult Create([Bind(Include = "Id,Nom,Description,TypeSpectacleId,Actif,lstSalle")] Spectacle spectacle, int Congres, string DateSpectacle, string HeureDebut, string HeureFin,int? lstSalle) { DateTime dateSpectacle; int heureDebut; int heureFin; SelectList TypeSpectacleId = new SelectList(unitOfWork.TypeSpectacleRepository.ObtenirTypeSpectacles(), "Id", "Nom", spectacle.TypeSpectacleId); SelectList SalleCongres = new SelectList(unitOfWork.SalleRepository.ObtenirSalles(), "Id", "NoSalle"); ViewBag.Congres = new SelectList(unitOfWork.CongresRepository.ObtenirCongres(), "Id", "Nom"); try { dateSpectacle = DateTime.Parse(DateSpectacle); heureDebut = int.Parse(HeureDebut); heureFin = int.Parse(HeureFin); } catch(Exception e) { TempData["message"] = "La date de spectacle doit être une date valide sous le format AAAA-MM-JJ. L'heure de début et l'heure de fin doivent être des chiffres"; ViewBag.TypeSpectacleId = TypeSpectacleId; ViewBag.lstSalle = SalleCongres; return View(spectacle); } if (ModelState.IsValid) { spectacle.TypeEvenement = Evenement.TypeEvent.TypeSpectacle; spectacle.TypeSpectacle = unitOfWork.TypeSpectacleRepository.ObtenirTypeSpectacleParID(spectacle.TypeSpectacleId); spectacle.Actif = true; Congres congres = unitOfWork.CongresRepository.ObtenirCongres().Where(u => u.Id.Equals(Congres)).FirstOrDefault(); spectacle.Congres = congres; spectacle.Salle = unitOfWork.SalleRepository.ObtenirSalleParID(lstSalle); UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(unitOfWork.context)); ApplicationUser utilisateur = UserManager.FindById(User.Identity.GetUserId()); if (spectacle.Users == null) { spectacle.Users = new List<ApplicationUser>(); } spectacle.Users.Add(utilisateur); PlageHoraire newPlageHoraire = new PlageHoraire(); DateTime dateEtHeureDebut = dateSpectacle.AddHours(heureDebut); DateTime dateEtHeureFin = dateSpectacle.AddHours(heureFin); newPlageHoraire.DateEtHeureDebut = dateEtHeureDebut; newPlageHoraire.DateEtHeureFin = dateEtHeureFin; newPlageHoraire.Evenement = spectacle; newPlageHoraire.Congres = congres; List<PlageHoraire> lst = new List<PlageHoraire>(); lst.Add(newPlageHoraire); if (!unitOfWork.IsRoomAvailableForTime(spectacle, lst)) { // Si la il y a conflit d'horaire pour une pièce.... TempData["message"] = "Il y a conflit d'horaire pour la salle que vous essayez de choisir. Veuillez choisir une autre salle, ou faire votre évènement à un moment différent."; ViewBag.TypeSpectacleId = TypeSpectacleId; ViewBag.lstSalle = SalleCongres; return View(spectacle); } unitOfWork.SpectacleRepository.InsertSpectacle(spectacle); unitOfWork.Save(); unitOfWork.PlageHoraireRepository.InsertPlageHoraire(newPlageHoraire); unitOfWork.Save(); Transaction nouvelleTransaction = new Transaction(); nouvelleTransaction.DateAchat = DateTime.Now; nouvelleTransaction.Montant = 1000; nouvelleTransaction.TypeAchat = "Location pour un Spectacle"; unitOfWork.TransactionRepository.InsertTransaction(nouvelleTransaction); unitOfWork.Save(); return RedirectToAction("Index"); } ViewBag.TypeSpectacleId = TypeSpectacleId; ViewBag.lstSalle = SalleCongres; return View(spectacle); }