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