public ActionResult AdicionaAoCarrinho(Carrinho c) { if (ModelState.IsValid) { int qtde = 0; int id = 0; if (Session["Itens"] != null) { foreach (var item in CarrinhoTemp.RetornaItens()) { if (item.Cat03ID == c.Cat03ID) { qtde = item.Qtde + c.Qtde; id = item.Id; c.Qtde = qtde; } } if (qtde == 0) { CarrinhoTemp.ArmazenaItens(c); } else { CarrinhoTemp.RemoveItem(id); CarrinhoTemp.ArmazenaItens(c); } } else { CarrinhoTemp.ArmazenaItens(c); } return(RedirectToAction("NovoPedido", "Cliente")); } return(View()); }
public ActionResult FinalizaPedidoEconobuy() { using (EconobuyEntities db = new EconobuyEntities()) { Session["ItensFinal"] = null; decimal valor = 0; var carrinho = CarrinhoTemp.RetornaItens().ToList(); int mer_id = selecionaMercado(); foreach (var item in carrinho) { var produto = (from merc in db.tb_mercado join prod in db.tb_produto on merc.mer_in_codigo equals prod.mer_in_codigo join cat03 in db.tb_categoria_n03 on prod.cat03_in_codigo equals cat03.cat03_in_codigo where cat03.cat03_in_codigo == item.Cat03ID && merc.mer_in_codigo == mer_id select new CarrinhoTrad { Nome = prod.prod_st_nome, Descricao = prod.prod_st_descricao, Valor = prod.prod_dec_valor_un, ProdID = prod.prod_in_codigo }).MinBy(x => x.Valor); produto.Qtde = item.Qtde; produto.ValorTotal = produto.Valor * produto.Qtde; CarrinhoTempFinal.ArmazenaItens(produto); valor += produto.ValorTotal; } var carrinhoFinal = CarrinhoTempFinal.RetornaItens().ToList(); var model = (from av in db.tb_avaliacao_mercado join mer in db.tb_mercado on av.mer_in_codigo equals mer.mer_in_codigo join en in db.tb_endereco on mer.end_in_codigo equals en.end_in_codigo where mer.mer_in_codigo == mer_id select new FinalizaPedidoTrad { Mercado = mer.mer_st_nome, AvMer = av.av_mer_dec_nota, CEP = en.end_st_CEP, Cidade = en.end_st_cidade, Bairro = en.end_st_bairro, Logradouro = en.end_st_log, Complemento = en.end_st_compl, Email = mer.mer_st_email, Telefone_1 = en.end_st_tel1, Telefone_2 = en.end_st_tel2, Valor = valor, MerID = mer.mer_in_codigo } ).First(); model.Carrinho = carrinhoFinal; return(View(model)); } }
public int selecionaMercado() { int Id = Convert.ToInt32(Session["clienteID"]); using (EconobuyEntities db = new EconobuyEntities()) { int end_id = db.tb_cliente.Where(x => x.cli_in_codigo == Id).Select(x => x.end_in_codigo).SingleOrDefault(); tb_endereco end = db.tb_endereco.Find(end_id); var mercados = (from mer in db.tb_mercado join en in db.tb_endereco on mer.end_in_codigo equals en.end_in_codigo where en.end_st_uf == end.end_st_uf && en.end_st_cidade == end.end_st_cidade select mer.mer_in_codigo ).ToList(); int mer_id = 0; decimal valorFinal = 0; foreach (var mer in mercados) { decimal valor = 0; bool falta = false; foreach (var item in CarrinhoTemp.RetornaItens()) { var v = 0M; v = (from merc in db.tb_mercado join prod in db.tb_produto on merc.mer_in_codigo equals prod.mer_in_codigo join cat03 in db.tb_categoria_n03 on prod.cat03_in_codigo equals cat03.cat03_in_codigo where cat03.cat03_in_codigo == item.Cat03ID && merc.mer_in_codigo == mer select prod.prod_dec_valor_un).DefaultIfEmpty().Min(); if (v != 0M) { v *= item.Qtde; valor += v; } else { falta = true; break; } } if (falta != true) { if (valorFinal == 0 || valor < valorFinal) { valorFinal = valor; mer_id = mer; } } } return(mer_id); } }
public ActionResult DeletaItemCarrinho(int id) { CarrinhoTemp.RemoveItem(id); return(RedirectToAction("ListaCarrinhoTrad", "Cliente")); }
public ActionResult ListaCarrinho() { var carrinho = CarrinhoTemp.RetornaItens(); return(View(carrinho)); }