using CD67.FicheCollege.Entity; using CD67.FicheCollege.Factory; using CD67.FicheCollege.MVC.Models; using CD67.PIMP.MVC.Internal; using System.Net; using System.Web.Mvc; namespace CD67.FicheCollege.MVC.Controllers { [Acces(groupes = "Admin")] public class UtilisateursController : Controller { private Entities db = new Entities(); // GET: ActionEduAxe/Create public ActionResult Create(int? groupe_id) { if (groupe_id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Utilisateur utilisateur = new Utilisateur(); utilisateur.GroupeId = groupe_id.Value; GroupeFactory fact = new GroupeFactory(db); utilisateur.Groupe = fact.getById(groupe_id); UtilisateurViewModel model = new UtilisateurViewModel(utilisateur, ModeAcces.Creation); return View("Create", model); } // POST: ActionEduAxe/Create // Afin de déjouer les attaques par sur-validation, activez les propriétés spécifiques que vous voulez lier. Pour // plus de détails, voir http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create(Utilisateur utilisateur) { if (ModelState.IsValid) { UtilisateurFactory fact = new UtilisateurFactory(db); fact.add(ref utilisateur); return RedirectToAction("Details", "Groupes", new { Id = utilisateur.GroupeId }); } GroupeFactory groupe_fact = new GroupeFactory(db); utilisateur.Groupe = groupe_fact.getById(utilisateur.GroupeId); UtilisateurViewModel model = new UtilisateurViewModel(utilisateur, ModeAcces.Creation); return View("Create", model); } // GET: ActionEduAxe/Delete/5 public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } UtilisateurFactory fact = new UtilisateurFactory(db); Utilisateur utilisateur = fact.getById(id.Value); if (utilisateur == null) { return HttpNotFound(); } DeleteViewModel model = new DeleteViewModel(utilisateur, "Utilisateur", utilisateur.Login); return View("~/Views/Shared/_AdminDeleteWarning.cshtml", model); } // POST: ActionEduAxe/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(int id) { UtilisateurFactory fact = new UtilisateurFactory(db); Utilisateur utilisateur = fact.getById(id); fact.delete(ref utilisateur); return RedirectToAction("Details", "Groupes", new { Id = utilisateur.GroupeId }); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } }