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; } }
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); } }
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); }