Example #1
0
        public async Task <ResponseResult> AtualizarItemCarrinho(Guid produtoId, ItemCarrinhoDto carrinho)
        {
            var itemContent = ObterConteudo(carrinho);
            var response    = await _httpClient.PostAsync($"/carrinho/{carrinho.ProdutoId}", itemContent);

            if (!TratarErrosResponse(response))
            {
                return(await DeserializarObjetoResponse <ResponseResult>(response));
            }
            return(RetornoOk());
        }
Example #2
0
        public async Task <ResponseResult> AdicionarItenCarrinho(ItemCarrinhoDto produto)
        {
            var itemContent = ObterConteudo(produto);
            var response    = await _httpClient.PostAsync("/carrinho/", itemContent);

            if (!TratarErrosResponse(response))
            {
                return(await DeserializarObjetoResponse <ResponseResult>(response));
            }
            return(RetornoOk());
        }
Example #3
0
        public async Task <IActionResult> AtualizarItemCarrinho(Guid produtoId, ItemCarrinhoDto itemProduto)
        {
            var produto = await _catalogoService.ObterPorId(produtoId);

            await ValidarItemCarrinho(produto, itemProduto.Quantidade);

            if (!OperacaoValida())
            {
                return(CustomResponse());
            }

            var resposta = await _carrinhoService.AtualizarItemCarrinho(produtoId, itemProduto);

            return(CustomResponse(resposta));
        }
Example #4
0
        public async Task <IActionResult> AdicionarItemCarrinho(ItemCarrinhoDto itemProduto)
        {
            var produto = await _catalogoService.ObterPorId(itemProduto.ProdutoId);

            await ValidarItemCarrinho(produto, itemProduto.Quantidade, true);

            if (!OperacaoValida())
            {
                return(CustomResponse());
            }

            itemProduto.Nome   = produto.Nome;
            itemProduto.Valor  = produto.Valor;
            itemProduto.Imagem = produto.Imagem;

            var resposta = await _carrinhoService.AdicionarItenCarrinho(itemProduto);

            return(CustomResponse(resposta));
        }
Example #5
0
        private async Task <ItemCarrinhoDto> ObtemCarrinhoAsync(int idCarrinho)
        {
            var itemCarrinho = await carrinhoRepository.BuscaItensCarrinhoAsync(idCarrinho);

            var itensCarrinho = new ItemCarrinhoDto
            {
                Livros = new List <Livro>()
            };

            foreach (var item in itemCarrinho)
            {
                var livro = await livroService.PesquisaAsync(new Livro { Id = item.IdLivro });

                itensCarrinho.Livros.Add(livro.FirstOrDefault());
                itensCarrinho.IdCarrinho  = item.IdCarrinho;
                itensCarrinho.ValorTotal += livro.FirstOrDefault()?.Valor ?? 0.0;
            }

            return(itensCarrinho);
        }