public async void Enviado(VendaProduto vendaProduto, Guid estoqueId) { EstoqueProduto estoqueProdutoService = await _estoqueProdutoService.GetEstoqueProdutoByProdutoIdAsync(vendaProduto.ProdutoId); if (estoqueProdutoService is null) { throw (new Exception("Por favor, cadastre o produto nesse estoque, depois realize a operação de envio!")); } estoqueProdutoService.QuantidadeProduto = estoqueProdutoService.QuantidadeProduto - vendaProduto.QuantidadeVedida; VendaProduto vendaProdutoAntiga = await this.GetByIdAsync(vendaProduto.Id); vendaProdutoAntiga.Enviado = true; SaidaProdutoEstoque entradaProdutoEstoque = new SaidaProdutoEstoque(vendaProduto.ProdutoId, estoqueId, vendaProduto.QuantidadeVedida); _saidaProdutoEstoqueService.Add(entradaProdutoEstoque); }
public void Devolver(List <DevolucaoCompra> devolucaoCompra) { Parallel.ForEach(devolucaoCompra, async t => { EstoqueProduto estoqueProduto = await _estoqueProdutoService.GetEstoqueProdutoByProdutoIdAsync(t.ProdutoId); CompraProduto compProd = new CompraProduto(); compProd = (t.CompraProduto is null) ? await _compraProdutoService.GetByIdAsync(t.CompraProdutoId) : t.CompraProduto; estoqueProduto.QuantidadeProduto = estoqueProduto.QuantidadeProduto - compProd.QuantidadeComprada; SaidaProdutoEstoque saidaProdutoEstoque = new SaidaProdutoEstoque(t.ProdutoId, estoqueProduto.EstoqueId, compProd.QuantidadeComprada); _saidaProdutoEstoqueService.AddAsync(saidaProdutoEstoque); AddAsync(t); }); }