Cookies (classe completa)

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > State Management >

Cookies (classe completa)

Previous pageReturn to chapter overviewNext page

 

// como usar para gravar

Cookies.Gravar(Constantes.COOKIE_LOJA, 5);

 

// como usar para ler

bool ativo = Cookies.LerBool(Constantes.COOKIE_COMBO);

 

 

classe completa

 

using System;

using System.Web;

 

  public class Cookies

   {

      public static void Gravar(string nome, string valor, bool umaHora = false)

       {

           HttpCookie cookieLembrar = new HttpCookie(nome);

           cookieLembrar.Value = valor;

           cookieLembrar.Expires = umaHora ? DateTime.Now.AddMinutes(59) : DateTime.Now.AddDays(7);

           HttpContext.Current.Response.Cookies.Add(cookieLembrar);

       }

 

      public static void Remover(string nome)

       {

          if (HttpContext.Current.Request.Cookies[nome] != null)

           {

               HttpCookie myCookie = new HttpCookie(nome);

               myCookie.Expires = DateTime.Now.AddDays(-1d);

               HttpContext.Current.Response.Cookies.Add(myCookie);

           }

       }

 

      public static string Ler(string nome, string padrao = "")

       {

          if (HttpContext.Current.Request.Cookies[nome] == null)

           {

              return padrao;

           }

 

          return HttpContext.Current.Request.Cookies[nome].Value;

       }

      public static void GravarInt(string nome, int valor)

       {

           Gravar(nome, valor.ToString());

       }

 

      public static int LerInt(string nome, int padrao = 0)

       {

          string v = Ler(nome, padrao.ToString());

 

          int i;

          if (!int.TryParse(v, out i))

               i = 0;

          return i;

       }

 

      public static void GravarBool(string nome, bool valor)

       {

           GravarInt(nome, valor ? 1 : 0);

       }

      public static bool LerBool(string nome, bool padrao = false)

       {

          return LerInt(nome, padrao ? 1 : 0) == 1;

       }

 

      public void GravarDecimal(string chave, decimal valor)

       {

           Gravar(chave, valor.ToString());

       }

 

      public decimal LerDecimal(string chave, decimal def = 0)

       {

          string s = Ler(chave, def.ToString());

 

          decimal d = 0;

          if (!decimal.TryParse(s, out d))

               d = 0;

          return d;

       }

 

      public void GravarDateTime(string chave, DateTime valor)

       {

           Gravar(chave, valor.ToString());

       }

 

      public DateTime LerDateTime(string chave, DateTime def)

       {

          string st = Ler(chave, def.ToString());

 

           DateTime dt;

          if (!DateTime.TryParse(st, out dt))

               dt = def;

          return dt;

       }

   }