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)); }