Esempio n. 1
0
        public async Task Adicionar(ResponsavelViewModel responsavelViewModel)
        {
            var responsavel = _mapper.Map <Responsavel>(responsavelViewModel);

            if (!ExecutarValidacao(new ResponsavelValidation(), responsavel))
            {
                return;
            }

            if (_responsavelRepository.Buscar(r => r.Cpf == responsavel.Cpf).Result.Any())
            {
                Notificar("Já existe um responsável cadastrado com o CPF informado.");
                return;
            }

            _responsavelRepository.Adicionar(responsavel);
            await _responsavelRepository.UnitOfWork.Commit();
        }
Esempio n. 2
0
        public async Task <ValidationResult> Handle(RegistrarResponsavelCommand message, CancellationToken cancellationToken)
        {
            if (!message.EhValido())
            {
                return(message.ValidationResult);
            }

            var responsavel = new Responsavel(message.Id, message.Nome, message.Funcao, message.Email, message.Excluido);

            var responsavelExistente = await _responsavelRepository.ObterPorEmail(responsavel.Email.Endereco);

            if (responsavelExistente != null)
            {
                AdicionarErro("Este Email já está em uso.");
                return(ValidationResult);
            }

            _responsavelRepository.Adicionar(responsavel);

            responsavel.AdicionarEvento(new ResponsavelRegistradoEvent(message.Id, message.Nome, message.Funcao, message.Email, message.Excluido));

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