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(); }
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)); }