Bläddra i källkod

Stockage de la dernière année consultée dans un cookie

olivier.massot 7 år sedan
förälder
incheckning
25731f64ea

+ 7 - 0
CD67.FicheCollege.MVC/Controllers/AnneesController.cs

@@ -4,6 +4,8 @@ using CD67.FicheCollege.Factory;
 using CD67.FicheCollege.Entity;
 using CD67.FicheCollege.MVC.Models;
 using System.Collections.Generic;
+using System.Web;
+using System;
 
 namespace CD67.FicheCollege.MVC.Controllers
 {
@@ -28,6 +30,11 @@ namespace CD67.FicheCollege.MVC.Controllers
                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
             }
 
+            HttpCookie cookie = new HttpCookie("last_selected_year");
+            cookie.Value = id.ToString();
+            cookie.Expires = DateTime.Now.AddMonths(1);
+            Response.SetCookie(cookie);
+
             AnneeFactory anneeFactory = new AnneeFactory(db);
             Entity.Annee annee = anneeFactory.getById(id);
             if (annee == null)

+ 12 - 2
CD67.FicheCollege.MVC/Controllers/HomeController.cs

@@ -14,8 +14,18 @@ namespace CD67.FicheCollege.MVC.Controllers
         // GET: Home
         public ActionResult Index()
         {
-            AnneeFactory fact = new AnneeFactory(db);
-            return RedirectToAction("Details", "Annees", new { id = fact.get_current_year_id() });
+            int annee_id;
+
+            if (Request.Cookies["last_selected_year"] != null)
+            {
+                annee_id = Int32.Parse(Request.Cookies["last_selected_year"].Value);
+            } else
+            {
+                AnneeFactory fact = new AnneeFactory(db);
+                annee_id = fact.get_current_year_id();
+            }
+            
+            return RedirectToAction("Details", "Annees", new { id = annee_id });
         }
     }
 }