示例#1
0
        public async Task <bool> Adicionar(Solicitacao solicitacao)
        {
            if (!ExecutarValidacao(new SolicitacaoValidation(), solicitacao))
            {
                return(false);
            }

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

            await _solicitacaoRepository.Adicionar(solicitacao);

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

            var solicitacao = new Models.Solicitacao(
                message.Id, message.IdSolicitante, message.CodDepartamento, message.Descricao,
                message.Status, message.DataCadastro, null);

            _solicitacaoRepository.Adicionar(solicitacao);

            solicitacao.AdicionarEvento(new SolicitacaoRegistradoEvent(message.Id, message.IdSolicitante, message.Descricao, message.CodDepartamento));

            return(await PersistirDados(_solicitacaoRepository.UnitOfWork));
        }