public JsonResult BuscaCidades(string prefix) { CidadeCadastro cidadeNeg = new CidadeCadastro(); var cidades = cidadeNeg.BuscaCidades(prefix); return(Json(cidades, JsonRequestBehavior.AllowGet)); }
public JsonResult FinalizarPedido(DadosPedido pedido) { Cliente cliente = Session["Cliente"] as Cliente; Endereco enderecoEntrega = new Endereco(); enderecoEntrega.Rua = pedido.Endereco; enderecoEntrega.CEP = Convert.ToInt64(pedido.CEP); enderecoEntrega.Numero = pedido.Numero; enderecoEntrega.Bairro = pedido.Bairro; Session["ValorFrete"] = pedido.ValorFrete; Session["DadosPedido"] = pedido; CidadeCadastro cidadeNeg = new CidadeCadastro(); Cidade cidade = cidadeNeg.BuscaCidade(pedido.Cidade); if (cidade == null) { return(Json(new { CodRetorno = "aviso", Mensagem = "Cidade não encontrada" })); } else { enderecoEntrega.Cidade = cidade; } enderecoEntrega.Complemento = pedido.Complemento; PedidoCliente pedidoCliente = new PedidoCliente { Data = DateTime.Now, EnderecoEntrega = enderecoEntrega, IdCliente = cliente.Id, Status = Dominio.Enums.StatusPedido.AguardandoConfirmacaoPagamento }; List <Produto> carrinho = Session["Carrinho"] as List <Produto> ?? new List <Produto>(); ProdutoCadastro produtoNeg = new ProdutoCadastro(); if (produtoNeg.ValidaQuantidadeEstoque(carrinho)) { var produtos = carrinho .GroupBy(x => x.IdProduto) .Select(x => new PedidoClienteProduto { Produto = x.FirstOrDefault(), Quantidade = x.Count() }).ToList(); pedidoCliente.Produtos = produtos; Session["PedidoCliente"] = pedidoCliente; return(Json(new { CodRetorno = "sucesso", Mensagem = "Você será redirecionado para conclusão do pedido" })); } else { Session["Carrinho"] = null; Session["DadosPedido"] = null; Session["PedidoCliente"] = null; return(Json(new { CodRetorno = "erro", Mensagem = "Os produtos não estão mais disponíveis" })); } }