public CarrinhoController(Sessao sessao, ProdutoR reposProduto, CarrinhoR reposCarrinho, FreteR reposFrete, ClienteR reposCliente) { _sessao = sessao; _reposProduto = reposProduto; _reposCarrinho = reposCarrinho; _reposFrete = reposFrete; _reposCliente = reposCliente; }
public async Task <IActionResult> CalcularFrete(string cep, string servico) { try { var lista = new List <Produto>(); var carrinho = _reposCarrinho.Buscar(_sessao.UsuarioSessao().IdCliente); var quantidade = new Dictionary <uint, uint>(); foreach (var item in carrinho) { lista.Add(_reposProduto.Buscar(item.IdProduto)); quantidade.Add(item.IdProduto, item.Quantidade); } return(Json(await _reposFrete.CalcularFrete(cep, FreteR.PrepararPacotes(lista, quantidade), servico))); } catch (Exception erro) { GerarLogErro(erro, (byte)Global.Entidade.Carrinho, (byte)Global.Acao.Visualizar); return(BadRequest(Global.Mensagem.FalhaBanco)); } }