Пример #1
0
        public ActionResult ExcluirProduto(string codigo)
        {
            Sacola sacola = (Sacola)HttpContext.Session["sacola"];

            sacola.TotalProduto = 0;
            List <Produto> listaProdutoSelecionado = new List <Produto>();

            if (!String.IsNullOrEmpty(codigo))
            {
                Produto produto = ProdutoBO.ObterProduto(codigo);
                foreach (SacolaProduto prod in sacola.Produtos)
                {
                    if (!prod.Produto.Equals(produto))
                    {
                        listaProdutoSelecionado.Add(prod.Produto);
                    }
                }
                sacola.Produtos.Clear();
                foreach (Produto prod in listaProdutoSelecionado)
                {
                    SacolaProduto sacProd = new SacolaProduto();
                    sacProd.Produto   = prod;
                    sacProd.ProdutoId = prod.Id;
                    sacProd.Sacola    = sacola;
                    sacProd.SacolaId  = sacola.Id;
                    sacola.Produtos.Add(sacProd);
                }
                foreach (SacolaProduto prod2 in sacola.Produtos)
                {
                    sacola.TotalProduto = sacola.TotalProduto + (prod2.Produto.Valor * prod2.Produto.Qtde);
                }
                for (int i = 0; i < sacola.ProdutoSelecionado.Length; i++)
                {
                    if (sacola.ProdutoSelecionado[i].Equals(codigo))
                    {
                        sacola.ProdutoSelecionado[i] = 0;
                    }
                }
            }
            sacola.TotalSacola             = sacola.TotalProduto + sacola.Sedex;
            ViewBag.QtdeProdutoSelecionado = sacola.Produtos.Count;
            HttpContext.Session["sacola"]  = sacola;
            return(View("Cart", sacola));
        }
Пример #2
0
        public ActionResult AdicionarProduto(string codigo, string qtde, string pessoas = "0")
        {
            Sacola  sacola  = (Sacola)HttpContext.Session["sacola"];
            Usuario usuario = (Usuario)HttpContext.Session["usuario"];

            sacola.TotalProduto = 0;
            Produto produto = new Produto();

            if (!String.IsNullOrEmpty(codigo))
            {
                produto      = ProdutoBO.ObterProduto(codigo);
                produto.Qtde = Int32.Parse(qtde);

                if (produto.ehKit)
                {
                    if (pessoas == "0")
                    {
                        TempData["Erro"] = "Favor selecionar a quantidade de pessoas.";
                        return(new RedirectResult("~/Home/DetalheProduto?codigo=" + codigo + "&listaProduto="));
                    }
                    produto.QtdePessoas = Int32.Parse(pessoas);
                    produto.Descricao   = produto.Descricao + " - " + produto.QtdePessoas + " pessoas.";
                    if (produto.QtdePessoas == 10)
                    {
                        produto.Valor = produto.Valor;
                    }
                    else if (produto.QtdePessoas == 20)
                    {
                        produto.Valor = (produto.Valor * 2) - 5;
                    }
                    else if (produto.QtdePessoas == 30)
                    {
                        produto.Valor = (produto.Valor * 3) - 10;
                    }
                    else if (produto.QtdePessoas == 40)
                    {
                        produto.Valor = (produto.Valor * 4) - 15;
                    }
                    else if (produto.QtdePessoas == 50)
                    {
                        produto.Valor = (produto.Valor * 5) - 20;
                    }
                }
                SacolaProduto sacProd = new SacolaProduto();
                sacProd.Produto   = produto;
                sacProd.ProdutoId = produto.Id;
                sacProd.Sacola    = sacola;
                sacProd.SacolaId  = sacola.Id;

                sacola.Produtos.Add(sacProd);
                for (int i = 0; i < sacola.ProdutoSelecionado.Length - 1; i++)
                {
                    if (sacola.ProdutoSelecionado[i].Equals(produto.Codigo))
                    {
                        sacola.ProdutoSelecionado[i] = long.Parse(produto.Codigo);
                    }
                }
            }
            ViewBag.QtdeProdutoSelecionado = sacola.Produtos.Count;
            foreach (SacolaProduto produto2 in sacola.Produtos)
            {
                sacola.TotalProduto = sacola.TotalProduto + (produto2.Produto.Valor * produto2.Produto.Qtde);
                sacola.TotalSacola  = sacola.TotalProduto + sacola.Sedex;
            }
            HttpContext.Session["sacola"] = sacola;
            return(new RedirectResult("~/Home/Cart?listaProduto="));
        }
Пример #3
0
        private void PreencherSacola(string sacolaProdutos)
        {
            Sacola sacola = (Sacola)HttpContext.Session["sacola"];

            //sacola.SedexFormatado = string.Format("R${0:0.00#,##}", 0);
            // sacola.SedexFormatado =  0.ToString().Replace(".","").Replace(",","");
            if (sacola == null)
            {
                sacola = new Sacola();
            }
            sacola.TotalProduto = 0;
            if (!String.IsNullOrEmpty(sacolaProdutos) && sacolaProdutos.Contains(','))
            {
                string[] listaProdutoArray = sacolaProdutos.Split(',');
                for (int i = 0; i < listaProdutoArray.Length - 1; i++)
                {
                    // Primeiro Preenche os produtos da sessao e dps da requisição
                    Produto produto = ProdutoBO.ObterProduto(listaProdutoArray[i]);


                    if (!sacola.Produtos.Any(c => c.ProdutoId == produto.Id))
                    {
                        produto.Qtde = 1;
                        SacolaProduto sacolaProd = new SacolaProduto();
                        sacolaProd.Sacola    = sacola;
                        sacolaProd.SacolaId  = sacola.Id;
                        sacolaProd.Produto   = produto;
                        sacolaProd.ProdutoId = produto.Id;
                        sacola.Produtos.Add(sacolaProd);
                    }
                    else
                    {
                        SacolaProduto sacolaProduto = sacola.Produtos.Where(c => c.Produto.Codigo.Equals(listaProdutoArray[i])).First();
                        produto = sacolaProduto.Produto;
                        produto.Qtde++;
                    }
                }
                //Retira os duplicados
                List <Produto> listaSemDuplicado = new List <Produto>();
                foreach (SacolaProduto prod in sacola.Produtos)
                {
                    if (!listaSemDuplicado.Contains(prod.Produto))
                    {
                        listaSemDuplicado.Add(prod.Produto);
                    }
                    else
                    {
                        Produto produto = listaSemDuplicado.Where(c => c.Codigo.Equals(prod.Produto.Codigo)).FirstOrDefault();
                        produto.Qtde++;
                    }
                }
                sacola.Produtos.Clear();
                foreach (Produto produto in listaSemDuplicado)
                {
                    SacolaProduto sacolaProd = new SacolaProduto();
                    sacolaProd.Produto   = produto;
                    sacolaProd.ProdutoId = produto.Id;
                    sacolaProd.Sacola    = sacola;
                    sacolaProd.SacolaId  = sacola.Id;
                    sacola.Produtos.Add(sacolaProd);
                }
                //Fim do Retira duplicação
                foreach (SacolaProduto prod in sacola.Produtos)
                {
                    sacola.TotalProduto = sacola.TotalProduto + (prod.Produto.Valor * prod.Produto.Qtde);
                }
                sacola.TotalSacola        = sacola.TotalProduto + sacola.Sedex;
                sacola.ProdutoSelecionado = new long[(ProdutoBO.ListarProduto()).Count];
            }
            HttpContext.Session["sacola"] = sacola;
        }