Compteurs.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Web;
  6. namespace AppliWebANA.Models {
  7. public static class Compteurs {
  8. public static int VisiteDuNavigateurSurLaPageDesCompteurs {
  9. get {
  10. // Ne sera jamais a null car init dans Session_Start
  11. return (int)HttpContext.Current.Session[nameof(VisiteDuNavigateurSurLaPageDesCompteurs)];
  12. }
  13. set {
  14. HttpContext.Current.Session[nameof(VisiteDuNavigateurSurLaPageDesCompteurs)] = value;
  15. }
  16. }
  17. public static int NbDeVisiteurs;
  18. public static string CheminFichierNbVisiteurs;
  19. public static void Initialiser() {
  20. CheminFichierNbVisiteurs = System.Configuration.ConfigurationManager.AppSettings["AppliWebANA.Models.Compteurs.CheminFichierNbVisiteurs"];
  21. if (File.Exists(CheminFichierNbVisiteurs)) {
  22. using (var reader = new System.IO.StreamReader(CheminFichierNbVisiteurs)) {
  23. NbDeVisiteurs = int.Parse(reader.ReadLine());
  24. }
  25. } else {
  26. NbDeVisiteurs = 0;
  27. }
  28. }
  29. public static void Sauver() {
  30. using (var writer = new System.IO.StreamWriter(CheminFichierNbVisiteurs, false)) {
  31. writer.Write(NbDeVisiteurs);
  32. }
  33. }
  34. public static int VisiteDeLUtilisateurSurLeSite {
  35. get {
  36. if (HttpContext.Current.Response.Cookies.AllKeys.Contains(nameof(VisiteDeLUtilisateurSurLeSite))) {
  37. var c = HttpContext.Current.Response.Cookies[nameof(VisiteDeLUtilisateurSurLeSite)];
  38. return int.Parse(c.Value);
  39. } else {
  40. var c = HttpContext.Current.Request.Cookies[nameof(VisiteDeLUtilisateurSurLeSite)];
  41. return c == null ? 0 : int.Parse(c.Value);
  42. }
  43. }
  44. set {
  45. var c = HttpContext.Current.Response.Cookies[nameof(VisiteDeLUtilisateurSurLeSite)];
  46. c.Value = value.ToString();
  47. c.Expires = DateTime.Now.AddDays(45);
  48. }
  49. }
  50. }
  51. }