예제 #1
0
        public void Atualizar(Solicitacao solicitacao)
        {
            solicitacao.Pessoa = this.PessoaRepository.ObterPorId(solicitacao.PessoaId.Value);

            // CarregarCursosExigidos(solicitacao);

            SolicitacaoRepository.Atualizar(solicitacao);

            // GerarCredencial(solicitacao);

            SolicitacaoRepository.Salvar();
        }
        public async Task <ValidationResult> Handle(AtualizarSolicitacaoCommand message, CancellationToken cancellationToken)
        {
            if (!message.EhValido())
            {
                return(message.ValidationResult);
            }

            var solicitacaoExistente = await _solicitacaoRepository.ObterPorId(message.Id);

            if (solicitacaoExistente != null)
            {
                solicitacaoExistente.Status           = message.Status;
                solicitacaoExistente.CodDepartamento  = message.CodDepartamento;
                solicitacaoExistente.DataEncerramento = message.DataEncerramento;

                _solicitacaoRepository.Atualizar(solicitacaoExistente);

                solicitacaoExistente.AdicionarEvento(
                    new SolicitacaoAtualizadaEvent(message.Id, message.CodDepartamento, message.Status, message.DataEncerramento));

                return(await PersistirDados(_solicitacaoRepository.UnitOfWork));
            }
            else
            {
                AdicionarErro("Solicitação não localizada.");
                return(ValidationResult);
            }
        }
예제 #3
0
        public async Task <bool> Atualizar(Solicitacao solicitacao)
        {
            if (!ExecutarValidacao(new SolicitacaoValidation(), solicitacao))
            {
                return(false);
            }

            if (_solicitacaoRepository.Buscar(p => p.Descricao == solicitacao.Descricao && p.Id != solicitacao.Id).Result.Any())
            {
                Notificar("Já existe uma solicitação com esse nome");
                return(false);
            }

            await _solicitacaoRepository.Atualizar(solicitacao);

            return(true);
        }