| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- using System.Net;
- using System.Web.Mvc;
- using CD67.ModeleMVC.Entity;
- using CD67.ModeleMVC.Factory;
- using System.Collections.Generic;
- using System;
- using System.Linq;
- using CD67.ModeleMVC.MVC.Internal;
- namespace CD67.ModeleMVC.MVC.Controllers
- {
- public class VIKINGSController : Controller
- {
- private Entities db = new Entities();
- // GET: VIKINGS
- public ActionResult Index()
- {
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- return View(vikingsFactory.getAll());
- }
- public ActionResult Test()
- {
- return View();
- }
- // GET: VIKINGS/Details/5
- public ActionResult Details(int? id)
- {
- if (id == null)
- {
- return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
- }
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- EXEMPLE_VIKINGS viking = vikingsFactory.getById(id.Value);
- if (viking == null)
- {
- return HttpNotFound();
- }
- ViewBag.id = id;
- return View(viking);
- }
- // GET: VIKINGS/Create
- public ActionResult Create()
- {
- EXEMPLE_VIKINGS viking = new EXEMPLE_VIKINGS();
- FillSelect(viking);
- return View(viking);
- }
- // POST: VIKINGS/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([Bind(Include = "ID,NOM,ID_TYPE,ID_SOUS_TYPE,DESCRIPTION,DATE_INUTILE")] EXEMPLE_VIKINGS viking)
- {
- if (ModelState.IsValid)
- {
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- vikingsFactory.add(ref viking);
- // Ajout d'un message flash
- this.Success("Viking créé avec succès.");
- return RedirectToAction("Index");
- }
- FillSelect(viking);
- return View(viking);
- }
- // GET: VIKINGS/Edit/5
- public ActionResult Edit(int? id)
- {
- if (id == null)
- {
- return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
- }
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- EXEMPLE_VIKINGS viking = vikingsFactory.getById(id.Value);
- if (viking == null)
- {
- return HttpNotFound();
- }
- FillSelect(viking);
- return View(viking);
- }
- // POST: VIKINGS/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([Bind(Include = "ID,NOM,ID_TYPE,ID_SOUS_TYPE,DESCRIPTION,DATE_INUTILE")] EXEMPLE_VIKINGS viking)
- {
- if (ModelState.IsValid)
- {
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- vikingsFactory.update(ref viking);
- // Ajout d'un message flash
- this.Success("Viking édité avec succès.");
- return RedirectToAction("Index");
- }
- FillSelect(viking);
- return View(viking);
- }
- // GET: VIKINGS/Delete/5
- public ActionResult Delete(int? id)
- {
- if (id == null)
- {
- return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
- }
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- EXEMPLE_VIKINGS viking = vikingsFactory.getById(id.Value);
- if (viking == null)
- {
- return HttpNotFound();
- }
- return View(viking);
- }
- // POST: VIKINGS/Delete/5
- [HttpPost, ActionName("Delete")]
- [ValidateAntiForgeryToken]
- public ActionResult DeleteConfirmed(int id)
- {
- EXEMPLE_VIKINGSFactory vikingsFactory = new EXEMPLE_VIKINGSFactory(db);
- EXEMPLE_VIKINGS viking = vikingsFactory.getById(id);
- vikingsFactory.delete(ref viking);
- // Ajout d'un message flash
- this.Success("Viking supprimé avec succès.");
- return RedirectToAction("Index");
- }
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- db.Dispose();
- }
- base.Dispose(disposing);
- }
- private void FillSelect(EXEMPLE_VIKINGS viking)
- {
- EXEMPLE_TYPE_VIKINGFactory typeVikingFactory = new EXEMPLE_TYPE_VIKINGFactory(db);
- ViewBag.ID_TYPE = new SelectList(typeVikingFactory.getAll(), "ID", "TYPE", viking.ID_TYPE);
- //Chargement d'une liste vide à la création
- SOUS_TYPE_VIKINGFactory sousTypeFactory = new SOUS_TYPE_VIKINGFactory();
- ViewBag.ID_SOUS_TYPE = new SelectList(sousTypeFactory.getManyBy(viking.ID_TYPE).OrderBy(i => i.Value), "Key", "Value", viking.ID_SOUS_TYPE);
- }
- //Mise à jour Ajax de la liste imbriquée
- public JsonResult listeSousType(int Id, int? defaultSelected)
- {
- SOUS_TYPE_VIKINGFactory sousTypeFactory = new SOUS_TYPE_VIKINGFactory();
- List<SelectListItem> listType = new List<SelectListItem>();
- Dictionary<int, string> infoType = sousTypeFactory.getManyBy(Id); //le dictionnaire doit devenir une liste de types
-
- List<Tuple<int, string>> listeType = new List<Tuple<int, string>>();
- foreach (var type in infoType)
- listeType.Add(new Tuple<int, string>(int.Parse(type.Key.ToString()), type.Value));
- foreach (Tuple<int, string> liste in listeType)
- listType.Add(new SelectListItem { Text = liste.Item2, Value = liste.Item1.ToString() });
- return Json(new SelectList(listType, "Value", "Text", defaultSelected), JsonRequestBehavior.AllowGet);
- }
- }
- }
|