Beispiel #1
0
        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;
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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)));
        }