Compteurs.cs 1.8 KB

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