using CD67.FicheCollege.Entity; using CD67.FicheCollege.Factory; using CD67.FicheCollege.MVC.Models; using System.Net; using System.Web.Mvc; namespace CD67.FicheCollege.MVC.Controllers { public class ActionEduThematiquesController : Controller { private Entities db = new Entities(); // GET: ActionAxes public ActionResult Index() { ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); ActionEduThematiqueIndexViewModel model = new ActionEduThematiqueIndexViewModel(fact.getAll()); return View(model); } // GET: ActionEduThematique/Create public ActionResult Create() { ActionEduThematique thematique = new ActionEduThematique(); ActionEduThematiqueViewModel model = new ActionEduThematiqueViewModel(thematique, db, ModeAcces.Creation); return View("Edit", model); } // POST: ActionEduThematique/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(ActionEduThematique thematique) { if (ModelState.IsValid) { ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); fact.add(ref thematique); return RedirectToAction("Index"); } ActionEduThematiqueViewModel model = new ActionEduThematiqueViewModel(thematique, db, ModeAcces.Creation); return View("Edit", model); } // GET: ActionEduThematique/Edit/5 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); Entity.ActionEduThematique thematique = fact.getById(id.Value); if (thematique == null) { return HttpNotFound(); } ActionEduThematiqueViewModel model = new ActionEduThematiqueViewModel(thematique, db, ModeAcces.Modification); return View(model); } // POST: ActionEduThematique/Edit/5 // 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 Edit(ActionEduThematique thematique) { if (ModelState.IsValid) { ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); fact.update(ref thematique); return RedirectToAction("Index"); } ActionEduThematiqueViewModel model = new ActionEduThematiqueViewModel(thematique, db, ModeAcces.Modification); return View(model); } // GET: ActionEduThematique/Delete/5 public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); Entity.ActionEduThematique thematique = fact.getById(id.Value); if (thematique == null) { return HttpNotFound(); } DeleteViewModel model = new DeleteViewModel(thematique, "Thématique", thematique.Nom); return View("~/Views/Shared/_AdminDeleteWarning.cshtml", model); } // POST: ActionEduThematique/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(int id) { ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); Entity.ActionEduThematique thematique = fact.getById(id); fact.delete(ref thematique); return RedirectToAction("Index"); } public ActionResult Up(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); Entity.ActionEduThematique thematique = fact.getById(id.Value); fact.Up(ref thematique); return RedirectToAction("Index"); } public ActionResult Down(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduThematiqueFactory fact = new ActionEduThematiqueFactory(db); Entity.ActionEduThematique thematique = fact.getById(id.Value); fact.Down(ref thematique); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } }