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 async Task<ActionResult> Register(RegisterViewModel model, string rolelist) { RoleManager<IdentityRole> RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); IdentityRole role = RoleManager.Roles.Where(u => u.Id.Equals(rolelist)).FirstOrDefault(); model.Role = role; if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { //Ajoute le role au user qui viens detre creer UserManager<ApplicationUser> userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); userManager.Users.Where(u => u.Email.Equals(model.Email)).FirstOrDefault(); userManager.AddToRole(userManager.Users.Where(u => u.Email.Equals(model.Email)).FirstOrDefault().Id, role.Name); // Pour plus d'informations sur l'activation de la confirmation du compte et la réinitialisation du mot de passe, consultez http://go.microsoft.com/fwlink/?LinkID=320771 // Envoyer un message électronique avec ce lien // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>"); //Cree une transaction suite a l'inscription d'un nouvel utilisateur Transaction nouvelleTransaction = new Transaction(); nouvelleTransaction.DateAchat = DateTime.Now; nouvelleTransaction.Montant = 25; nouvelleTransaction.TypeAchat = "Frais Inscription"; unitOfWork.TransactionRepository.InsertTransaction(nouvelleTransaction); unitOfWork.Save(); await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); return RedirectToAction("Index", "Home"); } SelectList selectRoleList = new SelectList(RoleManager.Roles, "Id", "Name"); ViewBag.rolelist = selectRoleList; AddErrors(result); } // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire return View(model); }
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); }