public void AtualizarCompra(Compra compra) { compra.Validar(); compra.ItensCompra.ForEach(x => x.Validar()); AssertionConcern.AssertArgumentNotEquals(0, compra.CompraCodigo, string.Format(Erros.NotZeroParameter, "CompraCodigo")); var compraAtual = _compraRepository.ObterPorCodigoComItensCompra(compra.CompraCodigo); if (compra.StatusCompra == StatusCompraEnum.Aberto) { AplicaValidacoesPadrao(compra); AdicionaFornecedorFormaECondicaoDePagamento(compra, compraAtual); AtualizaItensCompra(compraAtual, compra.ItensCompra); compraAtual.StatusCompra = StatusCompraEnum.Confirmado; AdicionaContaPagarNaCompra(compraAtual); compraAtual.ContasPagar.ForEach(x => x.Validar()); AdicionarNoEstoque(compra.ItensCompra, compra); } else { compraAtual.StatusCompra = StatusCompraEnum.Cancelado; RemoveContaPagarDaCompra(compraAtual); AtualizarDoEstoque(compraAtual.ItensCompra); } _compraRepository.Atualizar(compraAtual); }
public void AtualizarCompra(CompraViewModel compraViewModel) { var compra = _mapper.Map <Compra>(compraViewModel); _compraRepository.Atualizar(compra); _compraRepository.UnitOfWork.Commit(); }
public async Task Atualizar(Compra compra) { if (!ExecutarValidacao(new CompraValidation(), compra)) { return; } await _compraRepository.Atualizar(compra); }
public void Handle(AtualizarCompraCommand message) { var compraAtual = _compraRepository.ObterPorId(message.Id); if (!CompraExistente(message.Id, message.MessageType)) { return; } if (compraAtual.ClienteId != _user.GetUserId()) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Compra não pertence ao cliente.")); return; } decimal valorTotalMercadoria = ValorTotalMercadoria(message.Quantidade, message.ValorUnitario); decimal totalNF = TotalNF(valorTotalMercadoria, message.FreteCompra, message.DespesaNF); decimal custoUnitario = CustoUnitario(totalNF, message.Quantidade); var compra = Compra.CompraFactory.NovoCompraCompleto(message.Id, 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.Atualizar(compra); if (Commit()) { _bus.RaiseEvent(new CompraAtualizadoEvent(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 async Task <AtualizarCompraResponse> Atualizar(Compra compra, string cpfToken) { try { if (compra == null) { return(new AtualizarCompraResponse("Compra Invalida", 400)); } var compraDb = await _compraRepository.Obter(compra.Id); if (compraDb?.Id == null) { return(new AtualizarCompraResponse("Compra não encontrada", 404)); } var mesmoRevendedor = await _revendedorService.ValidarAnalogia(cpfToken, compraDb.IdRevendedor); if (!mesmoRevendedor) { return(new AtualizarCompraResponse("CPF Inforamdo não corresponde com o Usuário de acesso", 400)); } if (compraDb.Status != StatusCompra.EmValidacao) { return(new AtualizarCompraResponse("Não é possível alterar a compra~, compra não está mais em validação.", 400)); } compraDb = AtualizarDados(compraDb, compra); if (!ValidarCompra(compraDb)) { return(new AtualizarCompraResponse("Codigo ou Valor da compra Invalidos", 400)); } await _compraRepository.Atualizar(compraDb); return(new AtualizarCompraResponse()); } catch (Exception ex) { _logger.LogError(ex.Message, ex); throw ex; } }
public async Task <IActionResult> Edit(Guid id, CompraViewComponent compraViewComponent) { if (id != compraViewComponent.Id) { return(NotFound()); } if (!ModelState.IsValid) { return(View(compraViewComponent)); } var compraAtualizada = _mapper.Map <Compra>(await _compraRepository.ObterPorId(id)); compraAtualizada.Nome = compraViewComponent.Nome; await _compraRepository.Atualizar(compraAtualizada); return(RedirectToAction("Index")); }
public Compra Atualizar(Compra compra) { return(_compraRepository.Atualizar(compra)); }
public void Atualizar(CompraModel compra) { _compraRepository.Atualizar(compra); //return "Somente é possível atualizar vendas com status \"Em Validação\""; }