public async Task Registrar(Compra compra) { if (!compra.EhValido()) { Notificar(compra.ValidationResult); return; } await _compraRepository.Adicionar(compra); foreach (var produtoCompra in compra.ComprasProdutos) { var produto = await ObterProduto(produtoCompra); produtoCompra.GerarKardex(produto.Quantidade, produtoCompra.Quantidade); ValidarPrecoProduto(produtoCompra, produto); AtualizarEstoque(produtoCompra, produto); _produtoRepository.Atualizar(produto); await _compraProdutoRepository.Adicionar(produtoCompra); } await _UoW.Commit(); }
public void AdicionarCompra(CompraViewModel compraViewModel) { var compra = _mapper.Map <Compra>(compraViewModel); _compraRepository.Adicionar(compra); _compraRepository.UnitOfWork.Commit(); }
public async Task <IActionResult> Create(CompraViewComponent compraViewComponent) { if (!ModelState.IsValid) { return(View(compraViewComponent)); } var compra = _mapper.Map <Compra>(compraViewComponent); await _compraRepository.Adicionar(compra); return(RedirectToAction("Index")); }
public void Handle(RegistrarCompraCommand message) { decimal valorTotalMercadoria = ValorTotalMercadoria(message.Quantidade, message.ValorUnitario); decimal totalNF = TotalNF(valorTotalMercadoria, message.FreteCompra, message.DespesaNF); decimal custoUnitario = CustoUnitario(totalNF, message.Quantidade); var compra = new Compra(message.Codigo, message.Mercadoria, message.Quantidade, message.ValorUnitario, valorTotalMercadoria, message.FreteCompra, message.DespesaNF, totalNF, custoUnitario, message.DataCompra, message.Observacao, message.ClienteId); if (!CompraValido(compra)) { return; } _compraRepository.Adicionar(compra); if (Commit()) { _bus.RaiseEvent(new CompraRegistradoEvent(compra.Id, compra.Codigo, compra.Mercadoria, compra.Quantidade, compra.ValorUnitario, compra.ValorTotalMercadoria, compra.FreteCompra, compra.DespesaNF, compra.TotalNF, compra.CustoUnitario, compra.DataCompra, compra.Observacao)); } }
public Compra Adicionar(Compra compra) { return(_compraRepository.Adicionar(compra)); }
public async Task Adicionar(Compra compra) { await _compraRepository.Adicionar(compra); }