public static MaisLifeModel.Models.carrinho FindShoppingCart() { List <carrinho_produto> relProducts = new List <carrinho_produto>(); string[] productsString; HttpCookie cookie = HttpContext.Current.Request.Cookies["shoppingCartMaisLife"]; if (cookie != null && cookie.Value != "") { productsString = cookie.Value.ToString().Split(new Char[] { ',' }); for (int i = 0; i <= productsString.Length - 1; i++) { string[] aux = productsString[i].Split(new Char[] { ':' }); int idProduct = Convert.ToInt16(aux[0]); int amount = Convert.ToInt16(aux[1]); carrinho_produto relProduct = new carrinho_produto(); produto product = MaisLifeModel.DatabaseContext.Model.produto.Where(f => f.id == idProduct).First(); relProduct.produto1 = product; relProduct.quantidade = amount; relProducts.Add(relProduct); } } carrinho cart = new carrinho() { carrinho_produto = relProducts, status = "Ativo" }; return(cart); }
public ActionResult Carrinho(int id, int local) { // CHECAMOS DE FOI PASSADO ALGUM PRODUTO PARA A PÁGINA if (id > 0) { var product = MaisLifeModel.DatabaseContext.Model.produto.FirstOrDefault(f => f.id == id); // CHECAMOS DE O PRODUTO PASSADO EXISTE if (product != null) { usuario user = (usuario)HttpContext.Session["user"]; // CHECAMOS DE HÁ ALGUM USUÁRIO LOGADO if (user != null) { carrinho cart = user.carrinho.FirstOrDefault(f => f.status == "Ativo"); // CHECAMOS SE HÁ ALGUM CARRINHO ATIVO if (cart == null) { cart = new carrinho() { usuario1 = user, status = "Ativo" }; MaisLifeModel.DatabaseContext.Model.carrinho.Add(cart); //if (MaisLifeModel.DatabaseContext.Model.HasChanges) MaisLifeModel.DatabaseContext.Model.SaveChanges(); } carrinho_produto rel = cart.checkProduct(product); // CHECAMOS SE O PRODUTO JÁ ESTÁ NO CARRINHO if (rel == null) { rel = new carrinho_produto() { produto1 = product, carrinho1 = cart, quantidade = 1 }; } else { rel.quantidade++; } // SALVA/EDITA RELAÇÃO NO BANCO DE DADOS MaisLifeModel.DatabaseContext.Model.carrinho_produto.Add(rel); //if (MaisLifeModel.DatabaseContext.Model.HasChanges) MaisLifeModel.DatabaseContext.Model.SaveChanges(); } else { produto produto = new produto() { id = id }; Sessions.AddProductInShoppingCart(produto); } } } else { usuario user = (usuario)HttpContext.Session["user"]; // CHECAMOS DE HÁ ALGUM USUÁRIO LOGADO if (user != null) { carrinho cart = user.carrinho.FirstOrDefault(f => f.status == "Ativo"); if (cart == null) { cart = new carrinho() { usuario1 = user, status = "Ativo" }; MaisLifeModel.DatabaseContext.Model.carrinho.Add(cart); //if (MaisLifeModel.DatabaseContext.Model.HasChanges) MaisLifeModel.DatabaseContext.Model.SaveChanges(); } } else { ViewBag.Cart = Sessions.FindShoppingCart(); } } if (local != 0) { ViewBag.Local = MaisLifeModel.DatabaseContext.Model.bairro.FirstOrDefault(f => f.id == local);; } ViewBag.Locals = MaisLifeModel.DatabaseContext.Model.bairro.ToList(); Injections.LayoutInjection(this); return(View()); }