public ActionResult SupprimerUtilSecteur(int?idUtil, int?idSecteur) { if (idUtil != null && idSecteur != null) { SECTEUR leS = db.SECTEUR.SingleOrDefault(s => s.ID == idSecteur); if (leS != null) { var lien = from u in db.UTILISATEURSECTEUR where u.IDSECTEUR == idSecteur && u.IDUTILISATEUR == idUtil select u; if (lien != null) { UTILISATEURSECTEUR util = lien.FirstOrDefault(); db.UTILISATEURSECTEUR.Remove(util); db.SaveChanges(); return(RedirectToAction("UtilisateursSecteur", new { @idSect = idSecteur })); } } } return(RedirectToAction("GestionSecteurs")); }
public ActionResult ModifUtilSecteur(ModifSecteurUtilDates model) { if (ModelState.IsValid) { UTILISATEURSECTEUR us = db.UTILISATEURSECTEUR.FirstOrDefault(s => s.IDSECTEUR == model.idSecteur && s.IDUTILISATEUR == model.idUtil); if (us != null) { if (model.debutAcces.CompareTo(model.finAcces) < 0) { us.DEBUTACCES = model.debutAcces; us.FINACCES = model.finAcces; db.SaveChanges(); TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserModifOk); } else { ModelState.AddModelError("", Resources.Messages.DateGreaterThan); return(View(model)); } } return(RedirectToAction("UtilisateursSecteur", "Admin", new { idSect = model.idSecteur })); } return(View(model)); }
public ActionResult UtilisateursSecteur(AjoutUtilSecteurModel model) { if (ModelState.IsValid) { var leS = db.SECTEUR.SingleOrDefault(s => s.ID == model.idSecteur); var leU = db.UTILISATEUR.SingleOrDefault(u => u.ID == model.idUtil); if (leS != null && leU != null) { if (model.debutAcces.CompareTo(model.finAcces) < 0) { UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR(); lien.IDSECTEUR = model.idSecteur; lien.IDUTILISATEUR = model.idUtil; lien.DEBUTACCES = model.debutAcces; lien.FINACCES = model.finAcces; db.UTILISATEURSECTEUR.Add(lien); db.SaveChanges(); TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserAjoutSectOk); } else { TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.ERREUR, Resources.Messages.DateGreaterThan); } } return(RedirectToAction("UtilisateursSecteur", new { @idSect = model.idSecteur })); } return(View(model)); }
public ActionResult ModifUtilSecteur(int?idUtil, int?idSecteur) { if (idSecteur != null && idUtil != null) { UTILISATEURSECTEUR us = db.UTILISATEURSECTEUR.FirstOrDefault(s => s.IDSECTEUR == idSecteur && s.IDUTILISATEUR == idUtil); if (us != null) { ModifSecteurUtilDates model = new ModifSecteurUtilDates(); model.idUtil = us.IDUTILISATEUR; model.idSecteur = us.IDSECTEUR; model.debutAcces = us.DEBUTACCES; model.finAcces = us.FINACCES; return(View(model)); } } return(RedirectToAction("UtilisateursSecteur", "Admin")); }
public ActionResult AjoutSecteur(ContentSecteurModel model) { if (ModelState.IsValid) { string desc = Message.NewlineToBr(model.contenu); string descTrad = Message.NewlineToBr(model.contenuTrad); SECTEUR leSecteur = new SECTEUR(); leSecteur.NOM = model.nom; leSecteur.NOMTRAD = model.nomTrad; leSecteur.TITREACCUEIL = model.titre; leSecteur.TITREACCUEILTRAD = model.titreTrad; leSecteur.TEXTEACCUEIL = desc; leSecteur.TEXTEACCUEILTRAD = descTrad; if (model.File != null) { HttpPostedFileBase fichier = model.File; int MaxContentLength = 1024 * 1024 * 2; //2 MB string[] AllowedFileExtensions = new string[] { ".jpg", ".jpeg" }; if (!AllowedFileExtensions.Contains(fichier.FileName.Substring(fichier.FileName.LastIndexOf('.')))) { ModelState.AddModelError("", Resources.Messages.FileType + string.Join(", ", AllowedFileExtensions)); } else if (fichier.ContentLength > MaxContentLength) { ModelState.AddModelError("", Resources.Messages.FileTooLarge + (MaxContentLength / 1024).ToString() + "MB"); } else { //HttpPostedFileBase file = Request.Files.Get(0); //string url = Fichiers.CheminEnvoisImages(fichier.FileName); var fileName = Path.GetFileName(fichier.FileName); var path = Path.Combine(Server.MapPath("~/Content/images/photos"), fileName); fichier.SaveAs(path); leSecteur.URLIMAGEACCUEIL = fileName; } } db.SECTEUR.Add(leSecteur); db.SaveChanges(); var lesAdmins = from a in db.UTILISATEUR where a.webpages_Roles.All(r => r.RoleName.Equals("admin")) select a; if (lesAdmins.FirstOrDefault() != null) { int idNewSect = leSecteur.ID; UTILISATEURSECTEUR newU; DateTime debut = DateTime.Now; DateTime fin = DateTime.Now.AddYears(4); foreach (var a in lesAdmins) { newU = new UTILISATEURSECTEUR(); newU.IDSECTEUR = idNewSect; newU.IDUTILISATEUR = a.ID; newU.DEBUTACCES = debut; newU.FINACCES = fin; db.UTILISATEURSECTEUR.Add(newU); } db.SaveChanges(); } TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.SectAjoutOk); return(RedirectToAction("GestionSecteurs")); } return(View(model)); }
public ActionResult ModifUtilisateur(ModifUtilisateurModel model) { if (ModelState.IsValid) { UTILISATEUR u = db.UTILISATEUR.SingleOrDefault(i => i.ID == model.idUtil); if (!u.NOMUTIL.Equals(model.nomUtil)) { u.NOMUTIL = model.nomUtil; } u.COURRIEL = model.courriel; u.PRENOM = model.prenom; u.NOM = model.nom; u.ADRESSE = model.adresse; u.VILLE = model.ville; u.DATENAISSANCE = model.dateNaissance; u.LANGUE = model.langue; u.IDECOLE = model.idEcole; u.ACTIF = model.active; db.SaveChanges(); string currentRole = u.webpages_Roles.FirstOrDefault().RoleName; if (!currentRole.Equals(model.roleName)) { Roles.RemoveUserFromRole(u.NOMUTIL, currentRole); Roles.AddUserToRole(u.NOMUTIL, model.roleName); } if (currentRole.Equals("admin") && !currentRole.Equals(model.roleName)) { var utilSect = from uti in db.UTILISATEURSECTEUR where uti.IDUTILISATEUR == u.ID select uti; foreach (var utSect in utilSect) { UTILISATEURSECTEUR usect = (UTILISATEURSECTEUR)utSect; db.UTILISATEURSECTEUR.Remove(usect); } } if (model.roleName.Equals("admin")) { List <SECTEUR> allSect = db.SECTEUR.ToList(); int idUtil = WebSecurity.GetUserId(model.nomUtil); foreach (var s in allSect) { bool lienExiste = db.UTILISATEURSECTEUR.Any(us => us.IDSECTEUR == s.ID && us.IDUTILISATEUR == idUtil); if (!lienExiste) { UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR(); lien.IDSECTEUR = s.ID; lien.IDUTILISATEUR = idUtil; lien.DEBUTACCES = DateTime.Now; lien.FINACCES = DateTime.Now.AddYears(10); db.UTILISATEURSECTEUR.Add(lien); } } } db.SaveChanges(); TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserModifOk); return(RedirectToAction("GestionUtilisateurs", "Admin")); } return(View(model)); }
public ActionResult AjoutUtilisateur(AjoutUtilModel model) { if (ModelState.IsValid) { try { string confirmToken = WebSecurity.CreateUserAndAccount(model.nomUtil, model.password, propertyValues: new { COURRIEL = model.courriel, PRENOM = model.prenom, NOM = model.nom, ADRESSE = model.adresse, VILLE = model.ville, DATENAISSANCE = model.dateNaissance, IDECOLE = model.idEcole, ACTIF = model.active }, requireConfirmationToken: true); if (!string.IsNullOrEmpty(confirmToken)) { Roles.AddUserToRole(model.nomUtil, model.roleName); } if (model.roleName.Equals("admin")) { List <SECTEUR> allSect = db.SECTEUR.ToList(); int idUtil = WebSecurity.GetUserId(model.nomUtil); foreach (var s in allSect) { UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR(); lien.IDSECTEUR = s.ID; lien.IDUTILISATEUR = idUtil; lien.DEBUTACCES = DateTime.Now; lien.FINACCES = DateTime.Now.AddYears(10); db.UTILISATEURSECTEUR.Add(lien); } db.SaveChanges(); } MailMessage mail = new MailMessage(); mail.From = new MailAddress(Constantes.EMAIL); mail.To.Add(model.courriel); mail.Subject = Resources.Sectoriel.ConfirmAccount; string urlPath = Request.Url.GetLeftPart(UriPartial.Authority); string lienRetour = urlPath + "/Sectoriel/ConfirmationCompte/" + confirmToken; string message = String.Format(Resources.Sectoriel.msgConfirmAccount, model.nomUtil); message += "<a href=\""; message += lienRetour; message += "\">"; message += lienRetour; message += "</a>"; mail.IsBodyHtml = true; mail.Body = message; SmtpClient smtp = new SmtpClient(); smtp.Host = Constantes.HOST; smtp.Port = Constantes.PORT; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(Constantes.EMAIL, Constantes.EMAIL_PWD); smtp.EnableSsl = true; smtp.Send(mail); TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserAddedOk); return(RedirectToAction("GestionUtilisateurs", "Admin")); } catch (Exception e) { ModelState.AddModelError("", e.Message); } } else { List <ECOLE> lstEcoles = db.ECOLE.ToList(); List <webpages_Roles> lstRoles = db.webpages_Roles.ToList(); model.Ecoles = lstEcoles.Select(e => new SelectListItem { Text = e.NOM, Value = e.ID.ToString() }); model.Roles = lstRoles.Select(r => new SelectListItem { Text = r.RoleName, Value = r.RoleName }); } return(View(model)); }