Exemplo n.º 1
0
 public static bool GetCarritoIdForUsuarioIniciado(int userId, HttpContext context)
 {
     try
     {
         bool   existeCarrito = false;
         string carritoId     = "";
         FoodGood.Carrito.Carrito objCarrito = CarritoBLL.GetCarritoByIdUsurio(userId);
         if (objCarrito != null)
         {
             carritoId = objCarrito.CarritoId;
             string     cookieName = "FoodGoodCartId";
             HttpCookie cookie     = context.Request.Cookies[cookieName];
             if (cookie == null)
             {
                 cookie         = new HttpCookie(cookieName, carritoId);
                 cookie.Expires = DateTime.Now.AddDays(365);
                 context.Response.Cookies.Add(cookie);
             }
             else
             {
                 try
                 {
                     string valorLogin       = LoginUtilities.ObtenerLoginCookies();
                     JavaScriptSerializer js = new JavaScriptSerializer();
                     Dictionary <string, DatorProductoCarrito> carritoNuevo   = PedidoUtilities.GetCarrito();
                     Dictionary <string, DatorProductoCarrito> carritoAntiguo = js.Deserialize <Dictionary <string, DatorProductoCarrito> >(objCarrito.Contenido);
                     foreach (KeyValuePair <string, DatorProductoCarrito> recorrido in carritoAntiguo)
                     {
                         if (!carritoNuevo.ContainsKey(recorrido.Key))
                         {
                             carritoNuevo.Add(recorrido.Key, recorrido.Value);
                             UpdateCarrito(carritoNuevo);
                         }
                     }
                     CarritoBLL.DeleteCarrito(objCarrito.CarritoId);
                 }
                 catch (Exception ex)
                 {
                     //error fucionar las lista de articulos de carrito
                     throw ex;
                 }
             }
             //string cookieEmailName = "KomodoSuscription";
             //HttpCookie cookieEmail = context.Request.Cookies[cookieEmailName];
             //if (cookieEmail == null)
             //{
             //    cookie = new HttpCookie(cookieEmailName, cookieEmailName);
             //    cookie.Expires = DateTime.Now.AddDays(365);
             //    context.Response.Cookies.Add(cookie);
             //}
             existeCarrito = true;
         }
         return(existeCarrito);
     }
     catch (Exception ex)
     { throw ex; }
 }
Exemplo n.º 2
0
        public static void UpdateCarrito(Dictionary <string, DatorProductoCarrito> carrito, HttpContext context)
        {
            try
            {
                string cartId = obtenerIdCarrito(context);

                //FoodGood.Carrito.Carrito cartTemp = CarritoBLL.GetCarritoById(cartId);
                //if (cartTemp.conservarCarrito)
                //{
                //    CloneAndRemoveOldCart(cartTemp.Email, cartTemp.UserId);
                //    return;
                //}

                JavaScriptSerializer js = new JavaScriptSerializer();
                string jsonCart         = js.Serialize(carrito);

                //TODO: Actualizar carrito en la base de datos

                //string email = null;
                int?usuarioId = null;

                //if (!string.IsNullOrEmpty(SuscripcionUtilities.GetCorreoSuscripto()))
                //{
                //    email = SuscripcionUtilities.GetCorreoSuscripto();
                //}
                //if (context.User.Identity.IsAuthenticated)
                //{
                //    usuarioId = UserBLL.GetUserByUsername(context.User.Identity.Name).UserId;
                //    email = UserBLL.GetUserByUsername(context.User.Identity.Name).Email;
                //}

                string clave = LoginUtilities.ObtenerLoginCookies();
                FoodGood.Usuario.Usuario user = LoginUtilities.LoginUser(clave);
                if (user != null)
                {
                    usuarioId = user.UsuarioId;
                }

                FoodGood.Carrito.Carrito obj = new FoodGood.Carrito.Carrito();
                obj.CarritoId = cartId;
                obj.UsuarioId = usuarioId;
                obj.Contenido = jsonCart;
                obj.Fecha     = DateTime.Now;

                CarritoBLL.UpdateCarrtio(obj);
            }
            catch (Exception ex)
            { log.Error("Error al actualizar el carrito en la base de datos", ex); }
        }
Exemplo n.º 3
0
        public static string SetupShoppingCart(HttpContext context)
        {
            string cookieName = "FoodGoodCartId";

            string userName = context.User.Identity.Name;
            string guid     = "";
            //if (string.IsNullOrEmpty(userName))
            //{
            HttpCookie cookie = context.Request.Cookies[cookieName];

            if (cookie == null)
            {
                guid           = Guid.NewGuid().ToString();
                cookie         = new HttpCookie(cookieName, guid);
                cookie.Expires = DateTime.Now.AddDays(365);
                context.Response.Cookies.Add(cookie);
                try
                {
                    FoodGood.Carrito.Carrito obj = new FoodGood.Carrito.Carrito();
                    obj.CarritoId = guid;
                    //obj.UsuarioId =
                    obj.Contenido = "{}";
                    obj.Fecha     = DateTime.Now;
                    CarritoBLL.InsertCarrito(obj);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                guid = cookie.Value;
            }
            //}
            //else
            //{
            //    //TODO: Obenter el GUID del carrito para el usuario logueado
            //    guid = "";
            //    HttpCookie cookie = context.Request.Cookies[cookieName];

            //    if (string.IsNullOrEmpty(guid))
            //    {
            //        guid = new Guid().ToString();
            //    }
            //    else
            //    {
            //        string oldGuid = "";
            //        if (cookie != null)
            //            oldGuid = cookie.Value;

            //        if (!string.IsNullOrEmpty(oldGuid))
            //        {
            //            //TODO: Eliminar el carrito asignado a este usua
            //        }

            //    }

            //    if (cookie != null)
            //    {
            //        context.Response.Cookies.Remove(cookieName);
            //    }
            //    cookie = new HttpCookie(cookieName, guid);
            //    cookie.Expires = DateTime.Now.AddDays(365);
            //    context.Response.Cookies.Add(cookie);
            //}

            return(guid);
        }