Browse Source

NEW MVC ok

julien.legrand 9 years ago
parent
commit
5ed7032d9a

+ 1 - 1
CD67.ModeleMVC.MVC/App_Start/RouteConfig.cs

@@ -16,7 +16,7 @@ namespace CD67.ModeleMVC.MVC
             routes.MapRoute(
                 name: "Default",
                 url: "{controller}/{action}/{id}",
-                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
+                defaults: new { controller = "PARAMs", action = "Index", id = UrlParameter.Optional }
             );
         }
     }

+ 28 - 22
CD67.ModeleMVC.MVC/Controllers/PARAMsController.cs

@@ -7,6 +7,7 @@ using System.Net;
 using System.Web;
 using System.Web.Mvc;
 using CD67.ModeleMVC.Entity;
+using CD67.ModeleMVC.Factory;
 
 namespace CD67.ModeleMVC.MVC.Controllers
 {
@@ -17,7 +18,8 @@ namespace CD67.ModeleMVC.MVC.Controllers
         // GET: PARAMs
         public ActionResult Index()
         {
-            return View(db.PARAM.ToList());
+            PARAMFactory paramFactory = new PARAMFactory(db);
+            return View(paramFactory.getAll());
         }
 
         // GET: PARAMs/Details/5
@@ -27,18 +29,20 @@ namespace CD67.ModeleMVC.MVC.Controllers
             {
                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
             }
-            PARAM pARAM = db.PARAM.Find(id);
-            if (pARAM == null)
+            PARAMFactory paramFactory = new PARAMFactory(db);
+            PARAM param = paramFactory.getById(id);
+            if (param == null)
             {
                 return HttpNotFound();
             }
-            return View(pARAM);
+            return View(param);
         }
 
         // GET: PARAMs/Create
         public ActionResult Create()
         {
-            return View();
+            PARAM param = new PARAM();
+            return View(param);
         }
 
         // POST: PARAMs/Create
@@ -46,16 +50,16 @@ namespace CD67.ModeleMVC.MVC.Controllers
         // plus de détails, voir  http://go.microsoft.com/fwlink/?LinkId=317598.
         [HttpPost]
         [ValidateAntiForgeryToken]
-        public ActionResult Create([Bind(Include = "PRM_CLE,PRM_LIB1,PRM_LIB2")] PARAM pARAM)
+        public ActionResult Create([Bind(Include = "PRM_CLE,PRM_LIB1,PRM_LIB2")] PARAM param)
         {
             if (ModelState.IsValid)
             {
-                db.PARAM.Add(pARAM);
-                db.SaveChanges();
+                PARAMFactory paramFactory = new PARAMFactory(db);
+                paramFactory.add(ref param);
                 return RedirectToAction("Index");
             }
 
-            return View(pARAM);
+            return View(param);
         }
 
         // GET: PARAMs/Edit/5
@@ -65,12 +69,13 @@ namespace CD67.ModeleMVC.MVC.Controllers
             {
                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
             }
-            PARAM pARAM = db.PARAM.Find(id);
-            if (pARAM == null)
+            PARAMFactory paramFactory = new PARAMFactory(db);
+            PARAM param = paramFactory.getById(id);
+            if (param == null)
             {
                 return HttpNotFound();
             }
-            return View(pARAM);
+            return View(param);
         }
 
         // POST: PARAMs/Edit/5
@@ -78,15 +83,15 @@ namespace CD67.ModeleMVC.MVC.Controllers
         // plus de détails, voir  http://go.microsoft.com/fwlink/?LinkId=317598.
         [HttpPost]
         [ValidateAntiForgeryToken]
-        public ActionResult Edit([Bind(Include = "PRM_CLE,PRM_LIB1,PRM_LIB2")] PARAM pARAM)
+        public ActionResult Edit([Bind(Include = "PRM_CLE,PRM_LIB1,PRM_LIB2")] PARAM param)
         {
             if (ModelState.IsValid)
             {
-                db.Entry(pARAM).State = EntityState.Modified;
-                db.SaveChanges();
+                PARAMFactory paramFactory = new PARAMFactory(db);
+                paramFactory.update(ref param);
                 return RedirectToAction("Index");
             }
-            return View(pARAM);
+            return View(param);
         }
 
         // GET: PARAMs/Delete/5
@@ -96,12 +101,13 @@ namespace CD67.ModeleMVC.MVC.Controllers
             {
                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
             }
-            PARAM pARAM = db.PARAM.Find(id);
-            if (pARAM == null)
+            PARAMFactory paramFactory = new PARAMFactory(db);
+            PARAM param = paramFactory.getById(id);
+            if (param == null)
             {
                 return HttpNotFound();
             }
-            return View(pARAM);
+            return View(param);
         }
 
         // POST: PARAMs/Delete/5
@@ -109,9 +115,9 @@ namespace CD67.ModeleMVC.MVC.Controllers
         [ValidateAntiForgeryToken]
         public ActionResult DeleteConfirmed(string id)
         {
-            PARAM pARAM = db.PARAM.Find(id);
-            db.PARAM.Remove(pARAM);
-            db.SaveChanges();
+            PARAMFactory paramFactory = new PARAMFactory(db);
+            PARAM param = paramFactory.getById(id);
+            paramFactory.delete(ref param);
             return RedirectToAction("Index");
         }
 

+ 5 - 1
README.md

@@ -2,7 +2,7 @@ Mode d'emploi du projet mod
 
 *-*-*-*-*-*
 historique
-v0.1 13/07/2016 (Julien Legrand) : 1ère version
+v0.1 15/07/2016 (Julien Legrand) : 1ère version
 *-*-*-*-*-*
 
 # Actions à faire après copie
@@ -13,6 +13,7 @@ x. Cr
 x. Créer vos propres factory ici : "CD67.ModeleMVC.Factory" et supprimer le fichier d'exemple "CD67.ModeleMVC.Factory\PARAMFactory.cs"
 x. Créer vos propres controller/vues ici : "CD67.ModeleMVC.MVC\Controllers" et supprimer les fichiers d'exemple : 
 (NOTE : personellement j'utilise à la création du controller le modèle "Contrôleur MV5 avec vues, utilisant Entity Framework" en générant les vues et avec la page de disposition que je souhaite, ensuite je modifie le code du contrôleur pour utiliser les classes "Factory")
+x. Modifier le fichier "CD67.ModeleMVC.MVC\App_Start\RouteConfig.cs" par rapport à vos contrôleurs
 
 10. supprimer ce fichier pour ne pas que l'on sache que vous avez utilisé un modèle
 
@@ -62,6 +63,9 @@ Le dossier "style" contient :
 - "AppStyleSheet.css" : feuille de style à modifier pour le projet courant
 - "ModeleStyleSheet.css" : feuille de style du modèle CD67 à ne pas modifier
 
+Les scripts et styles sont chargés à l'aide des commandes : "@Scripts.Render("~/bundles/jquery")", "@Scripts.Render("~/bundles/bootstrap")" et "@Styles.Render("~/Content/css")".
+La configuration de ceci se trouve dans ce fichier : "App_Start\BundleConfig.cs"
+
 
 # CD67.ModeleMVC.Tests
 Projet le plus important de la solution :)