コード例 #1
0
ファイル: Sessions.cs プロジェクト: alissonrubim/MaisLife
        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);
        }
コード例 #2
0
        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());
        }