Ejemplo n.º 1
0
        public async Task AdicionarUmaCompraAsync(AdicionarUmaCompraDTO obj)
        {
            Cliente cliente = _clienteRepository.GetById(obj.ClienteId);

            Endereco endereco = new Endereco(
                obj.RuaDeEntrega,
                obj.CidadeDeEntrega,
                obj.EstadoDeEntrega,
                obj.CEPDeEntrega
                );

            List <ProdutosDaCompra> listaDeProdutosDaCompra = new List <ProdutosDaCompra>();

            Compra compra = new Compra(obj.DataDaCompra, endereco, cliente, listaDeProdutosDaCompra);

            foreach (var x in obj.ListaDeProdutosDaCompra)
            {
                Produto produto = await _produtoRepository.GetByIdAsync(x.IdDoProduto);

                ProdutosDaCompra produtosDaCompra =
                    new ProdutosDaCompra(produto, x.Preco, x.Desconto, x.Quantidade, compra);

                listaDeProdutosDaCompra.Add(produtosDaCompra);
            }

            await _compraRepository.AddAsync(compra);

            _compraRepository.Save();
        }
        public async Task <IActionResult> Post([FromBody] AdicionarUmaCompraDTO adicionarUmaCompraDTO)
        {
            try
            {
                await _compraService.AdicionarUmaCompraAsync(adicionarUmaCompraDTO);
            }
            catch
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }

            return(StatusCode(StatusCodes.Status200OK));
        }