UtilisateursController.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using CD67.FicheCollege.Entity;
  2. using CD67.FicheCollege.Factory;
  3. using CD67.FicheCollege.MVC.Models;
  4. using System.Net;
  5. using System.Web.Mvc;
  6. namespace CD67.FicheCollege.MVC.Controllers
  7. {
  8. public class UtilisateursController : Controller
  9. {
  10. private Entities db = new Entities();
  11. // GET: ActionEduAxe/Create
  12. public ActionResult Create(int? groupe_id)
  13. {
  14. if (groupe_id == null)
  15. {
  16. return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
  17. }
  18. Utilisateur utilisateur = new Utilisateur();
  19. utilisateur.GroupeId = groupe_id.Value;
  20. GroupeFactory fact = new GroupeFactory(db);
  21. utilisateur.Groupe = fact.getById(groupe_id);
  22. UtilisateurViewModel model = new UtilisateurViewModel(utilisateur, ModeAcces.Creation);
  23. return View("Create", model);
  24. }
  25. // POST: ActionEduAxe/Create
  26. // Afin de déjouer les attaques par sur-validation, activez les propriétés spécifiques que vous voulez lier. Pour
  27. // plus de détails, voir http://go.microsoft.com/fwlink/?LinkId=317598.
  28. [HttpPost]
  29. [ValidateAntiForgeryToken]
  30. public ActionResult Create(Utilisateur utilisateur)
  31. {
  32. if (ModelState.IsValid)
  33. {
  34. UtilisateurFactory fact = new UtilisateurFactory(db);
  35. fact.add(ref utilisateur);
  36. return RedirectToAction("Details", "Groupes", new { Id = utilisateur.GroupeId });
  37. }
  38. GroupeFactory groupe_fact = new GroupeFactory(db);
  39. utilisateur.Groupe = groupe_fact.getById(utilisateur.GroupeId);
  40. UtilisateurViewModel model = new UtilisateurViewModel(utilisateur, ModeAcces.Creation);
  41. return View("Create", model);
  42. }
  43. // GET: ActionEduAxe/Delete/5
  44. public ActionResult Delete(int? id)
  45. {
  46. if (id == null)
  47. {
  48. return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
  49. }
  50. UtilisateurFactory fact = new UtilisateurFactory(db);
  51. Utilisateur utilisateur = fact.getById(id.Value);
  52. if (utilisateur == null)
  53. {
  54. return HttpNotFound();
  55. }
  56. DeleteViewModel model = new DeleteViewModel(utilisateur, "Utilisateur", utilisateur.Login);
  57. return View("~/Views/Shared/_AdminDeleteWarning.cshtml", model);
  58. }
  59. // POST: ActionEduAxe/Delete/5
  60. [HttpPost, ActionName("Delete")]
  61. [ValidateAntiForgeryToken]
  62. public ActionResult DeleteConfirmed(int id)
  63. {
  64. UtilisateurFactory fact = new UtilisateurFactory(db);
  65. Utilisateur utilisateur = fact.getById(id);
  66. fact.delete(ref utilisateur);
  67. return RedirectToAction("Details", "Groupes", new { Id = utilisateur.GroupeId });
  68. }
  69. protected override void Dispose(bool disposing)
  70. {
  71. if (disposing)
  72. {
  73. db.Dispose();
  74. }
  75. base.Dispose(disposing);
  76. }
  77. }
  78. }