Esempio n. 1
0
 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());
 }
Esempio n. 2
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));
     }
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
 public ActionResult DeletaItemCarrinho(int id)
 {
     CarrinhoTemp.RemoveItem(id);
     return(RedirectToAction("ListaCarrinhoTrad", "Cliente"));
 }
Esempio n. 5
0
        public ActionResult ListaCarrinho()
        {
            var carrinho = CarrinhoTemp.RetornaItens();

            return(View(carrinho));
        }