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 ActionResult FinalizarPedidoEconobuy(int merID) { using (EconobuyEntities db = new EconobuyEntities()) { int cli_id = Convert.ToInt32(Session["clienteID"]); int end_id = db.tb_cliente.Where(x => x.cli_in_codigo == cli_id).Select(x => x.end_in_codigo).SingleOrDefault(); var ped = new tb_pedido { cli_in_codigo = cli_id, mer_in_codigo = merID, data_dt_pedido = DateTime.Now, end_in_codigo = end_id, ped_status = "Aguardando", ped_st_msg = "", ped_dec_valor = 0 }; db.tb_pedido.Add(ped); decimal valor = 0; var carrinho = CarrinhoTempFinal.RetornaItens().ToList(); foreach (var pro in carrinho) { var item = new tb_item { prod_in_codigo = pro.ProdID, ped_in_codigo = ped.ped_in_codigo, item_in_qtde = pro.Qtde, item_dec_valor = pro.ValorTotal }; valor += pro.ValorTotal; db.tb_item.Add(item); } ped.ped_dec_valor = valor; db.SaveChanges(); Session["mercadoTradID"] = null; Session["Itens"] = null; return(RedirectToAction("VisualizarPedido", "Cliente", new { Id = ped.ped_in_codigo })); } }