using CD67.FicheCollege.Entity; using CD67.FicheCollege.Factory; using CD67.FicheCollege.MVC.Models; using System.Collections.Generic; using System.Linq; using System.Net; using System.Web; using System.Web.Mvc; namespace CD67.FicheCollege.MVC.Controllers { public class ActionsEduController : Controller { private Entities db = new Entities(); // GET: Actions public ActionResult Index(int? annee_id) { if (annee_id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } AnneeFactory fact = new AnneeFactory(db); Annee annee = fact.getById(annee_id); AnneeViewModel model = new AnneeViewModel(annee, db, ModeAcces.Lecture); return View(model); } // GET: ActionsEdu/Details/5 public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduFactory fact = new ActionEduFactory(db); Entity.ActionEdu actionEdu = fact.getById(id); if (actionEdu == null) { return HttpNotFound(); } actionEdu.hydrate(); ActionEduViewModel model = new ActionEduViewModel(actionEdu, db); return View(model); } // GET: ActionEduAxe/Create public ActionResult Create(int? annee_id) { if (annee_id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEdu actionEdu = new ActionEdu(); actionEdu.AnneeId = annee_id.Value; AnneeFactory fact = new AnneeFactory(db); actionEdu.Annee = fact.getById(annee_id); actionEdu.hydrate(); ActionEduViewModel model = new ActionEduViewModel(actionEdu, db, ModeAcces.Creation); return View(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(ActionEdu actionEdu) { if (ModelState.IsValid) { ActionEduFactory fact = new ActionEduFactory(db); fact.add(ref actionEdu); return RedirectToAction("Index", new { annee_id = actionEdu.AnneeId }); } actionEdu.hydrate(); ActionEduViewModel model = new ActionEduViewModel(actionEdu, db, ModeAcces.Creation); return View(model); } // GET: ActionEduAxe/Edit/5 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduFactory fact = new ActionEduFactory(db); ActionEdu action = fact.getById(id.Value); if (action == null) { return HttpNotFound(); } action.hydrate(); ActionEduViewModel model = new ActionEduViewModel(action, db, ModeAcces.Modification); return View(model); } // POST: ActionEduAxe/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(ActionEdu actionEdu) { if (ModelState.IsValid) { ActionEduFactory fact = new ActionEduFactory(db); fact.update(ref actionEdu); return RedirectToAction("Index", new { annee_id = actionEdu.AnneeId }); } if (actionEdu.Annee == null) { db.ActionsEdu.Attach(actionEdu); db.Entry(actionEdu).Reference(i => i.Annee).Load(); } actionEdu.hydrate(); ActionEduViewModel model = new ActionEduViewModel(actionEdu, db, ModeAcces.Modification); return View(model); } // GET: ActionEduAxe/Delete/5 public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduFactory fact = new ActionEduFactory(db); ActionEdu actionEdu = fact.getById(id.Value); if (actionEdu == null) { return HttpNotFound(); } actionEdu.hydrate(); ActionEduViewModel model = new ActionEduViewModel(actionEdu, db); return View(model); } // POST: ActionEduAxe/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(int id) { ActionEduFactory fact = new ActionEduFactory(db); ActionEdu actionEdu = fact.getById(id); fact.delete(ref actionEdu); return RedirectToAction("Index", new { annee_id = actionEdu.AnneeId }); } public ActionResult Up(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduFactory fact = new ActionEduFactory(db); ActionEdu actionEdu = fact.getById(id.Value); fact.Up(ref actionEdu); return RedirectToAction("Index", new { annee_id = actionEdu.AnneeId }); } public ActionResult Down(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ActionEduFactory fact = new ActionEduFactory(db); ActionEdu actionEdu = fact.getById(id.Value); fact.Down(ref actionEdu); return RedirectToAction("Index", new { annee_id = actionEdu.AnneeId }); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } }