using System.Net; using System.Web.Mvc; using CD67.FicheCollege.Entity; using CD67.FicheCollege.Factory; using CD67.FicheCollege.MVC.Models; namespace CD67.FicheCollege.MVC.Controllers { public class TerritoireController : Controller { private Entities db = new Entities(); // GET: Territoire public ActionResult Index() { TerritoireFactory territoireFactory = new TerritoireFactory(db); TerritoireIndexViewModel model = new TerritoireIndexViewModel(territoireFactory.getAll()); return View(model); } // GET: Territoire/Create public ActionResult Create() { Entity.Territoire territoire = new Entity.Territoire(); TerritoireViewModel model = new TerritoireViewModel(territoire, ModeAcces.Creation); return View("Edit", model); } // POST: Territoire/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(Territoire territoire) { if (ModelState.IsValid) { TerritoireFactory territoireFactory = new TerritoireFactory(db); territoireFactory.add(ref territoire); return RedirectToAction("Index"); } TerritoireViewModel model = new TerritoireViewModel(territoire, ModeAcces.Creation); return View("Edit", model); } // GET: Territoire/Edit/5 public ActionResult Edit(string id) { if (string.IsNullOrEmpty(id)) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } TerritoireFactory territoireFactory = new TerritoireFactory(db); Entity.Territoire territoire = territoireFactory.getById(id); if (territoire == null) { return HttpNotFound(); } TerritoireViewModel model = new TerritoireViewModel(territoire); return View(model); } // POST: Territoire/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(Territoire territoire) { if (ModelState.IsValid) { TerritoireFactory territoireFactory = new TerritoireFactory(db); territoireFactory.update(ref territoire); return RedirectToAction("Index"); } TerritoireViewModel model = new TerritoireViewModel(territoire, ModeAcces.Modification); return View(model); } // GET: Territoire/Delete/5 public ActionResult Delete(string id) { if (string.IsNullOrEmpty(id)) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } TerritoireFactory territoireFactory = new TerritoireFactory(db); Entity.Territoire territoire = territoireFactory.getById(id); if (territoire == null) { return HttpNotFound(); } DeleteViewModel model = new DeleteViewModel(territoire, "Territoire", territoire.Libelle); return View("~/Views/Shared/_AdminDeleteWarning.cshtml", model); } // POST: Territoire/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(string id) { TerritoireFactory territoireFactory = new TerritoireFactory(db); Entity.Territoire territoire = territoireFactory.getById(id); territoireFactory.delete(ref territoire); return RedirectToAction("Index"); } public ActionResult Up(string id) { if (string.IsNullOrEmpty(id)) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } TerritoireFactory territoireFactory = new TerritoireFactory(db); Entity.Territoire territoire = territoireFactory.getById(id); territoireFactory.Up(ref territoire); return RedirectToAction("Index"); } public ActionResult Down(string id) { if (string.IsNullOrEmpty(id)) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } TerritoireFactory territoireFactory = new TerritoireFactory(db); Entity.Territoire territoire = territoireFactory.getById(id); territoireFactory.Down(ref territoire); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } }