Example #1
0
        public static 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 = ConfigDB.Model.Produtos.Where(f => f.Id == idProduct).First();
                    relProduct.Produto1   = product;
                    relProduct.Quantidade = amount;

                    relProducts.Add(relProduct);
                }
            }

            Carrinho cart = new Carrinho()
            {
                Carrinho_produtos = relProducts,
                Status            = "Ativo"
            };

            return(cart);
        }
Example #2
0
        public ActionResult Carrinho(int id, int local)
        {
            // CHECAMOS DE FOI PASSADO ALGUM PRODUTO PARA A PÁGINA
            if (id > 0)
            {
                var product = ConfigDB.Model.Produtos.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.Carrinhos.FirstOrDefault(f => f.Status == "Ativo");
                        // CHECAMOS SE HÁ ALGUM CARRINHO ATIVO
                        if (cart == null)
                        {
                            cart = new Carrinho()
                            {
                                Usuario1 = user,
                                Status   = "Ativo"
                            };

                            ConfigDB.Model.Add(cart);
                            if (ConfigDB.Model.HasChanges)
                            {
                                ConfigDB.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
                        ConfigDB.Model.Add(rel);
                        if (ConfigDB.Model.HasChanges)
                        {
                            ConfigDB.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.Carrinhos.FirstOrDefault(f => f.Status == "Ativo");
                    if (cart == null)
                    {
                        cart = new Carrinho()
                        {
                            Usuario1 = user,
                            Status   = "Ativo"
                        };

                        ConfigDB.Model.Add(cart);
                        if (ConfigDB.Model.HasChanges)
                        {
                            ConfigDB.Model.SaveChanges();
                        }
                    }
                }
                else
                {
                    ViewBag.Cart = Sessions.FindShoppingCart();
                }
            }

            if (local != 0)
            {
                ViewBag.Local = ConfigDB.Model.Bairros.FirstOrDefault(f => f.Id == local);;
            }

            ViewBag.Locals = ConfigDB.Model.Bairros.ToList();

            Injections.LayoutInjection(this);
            return(View());
        }