public void Alterar(AlterarParcelaEntrada alterarEntrada) { if (alterarEntrada.Invalido || alterarEntrada.IdParcela != this.Id) { return; } this.Data = alterarEntrada.Data; this.Valor = alterarEntrada.Valor; this.Observacao = alterarEntrada.Observacao; }
public async Task <ISaida> AlterarParcela([FromBody, SwaggerParameter("Informações para alteração de uma parcela.", Required = true)] AlterarParcelaViewModel model) { var alterarEntrada = new AlterarParcelaEntrada( model.IdParcela.Value, model.Data.Value, model.Valor.Value, base.ObterIdUsuarioClaim(), model.Observacao); return(await _agendamentoServico.AlterarParcela(alterarEntrada)); }
public async Task <ISaida> AlterarParcela(AlterarParcelaEntrada alterarEntrada) { // Verifica se as informações para alteração foram informadas corretamente if (alterarEntrada.Invalido) { return(new Saida(false, alterarEntrada.Mensagens, null)); } var parcela = await _parcelaRepositorio.ObterPorId(alterarEntrada.IdParcela, true); // Verifica se a parcela existe this.NotificarSeNulo(parcela, ParcelaMensagem.Id_Parcela_Nao_Existe); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se a parcela pertece a um agendamento do usuário informado. this.NotificarSeDiferentes(parcela.Agendamento.IdUsuario, alterarEntrada.IdUsuario, ParcelaMensagem.Parcela_Alterar_Nao_Pertence_Usuario); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se a parcela está fechada (lançada ou descartada) this.NotificarSeVerdadeiro(parcela.Status == StatusParcela.Fechada, ParcelaMensagem.Parcela_Alterar_Ja_Fechada); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } parcela.Alterar(alterarEntrada); _parcelaRepositorio.Atualizar(parcela); await _uow.Commit(); return(_uow.Invalido ? new Saida(false, _uow.Mensagens, null) : new Saida(true, new[] { ParcelaMensagem.Parcela_Alterada_Com_Sucesso }, new ParcelaSaida(parcela))); }