Example #1
0
 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));
     }
 }
Example #2
0
 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 }));
     }
 }