Beispiel #1
0
        private void ValidarNovoUsuario(Usuario novoUsuario)
        {
            var violacaoDeRegras = new RegrasDeNegocioException <Usuario>();

            ValidaCamposObrigatorios(novoUsuario, violacaoDeRegras);

            ValidaOutraRegras(novoUsuario, violacaoDeRegras);
        }
Beispiel #2
0
        public static void CopiarPara(this RegrasDeNegocioException ex, ModelStateDictionary modelState, string prefixo)
        {
            prefixo = string.IsNullOrEmpty(prefixo) ? "" : prefixo + ".";

            foreach (var prop in ex.Erros)
            {
                string chave = ExpressionHelper.GetExpressionText(prop.Propriedade);
                modelState.AddModelError(prefixo + chave, prop.Mensagem);
            }
        }
Beispiel #3
0
        private void ValidaOutraRegras(Usuario novoUsuario, RegrasDeNegocioException <Usuario> violacaoDeRegras)
        {
            if (EmailJaExiste(novoUsuario.Email))
            {
                violacaoDeRegras.AdicionarErro(x => x.Email, "Email já existe no cadastro");
            }

            if (!EmailValido(novoUsuario.Email))
            {
                violacaoDeRegras.AdicionarErro(x => x.Email, "Email inválido");
            }

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Beispiel #4
0
        public void ValidarAlterarUsuario(Usuario usuario)
        {
            var violacaoDeRegras = new RegrasDeNegocioException <Usuario>();

            bool emailJaExiste = ctx.Usuarios.Any(u => u.Email == usuario.Email && u.Id != usuario.Id);

            if (emailJaExiste)
            {
                violacaoDeRegras.AdicionarErro(u => u.Email, "E-mail já existe");
            }

            ValidaCamposObrigatorios(usuario, violacaoDeRegras);

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Beispiel #5
0
        private static void ValidaCamposObrigatorios(Usuario novoUsuario, RegrasDeNegocioException <Usuario> violacaoDeRegras)
        {
            if (String.IsNullOrEmpty(novoUsuario.Nome))
            {
                violacaoDeRegras.AdicionarErro(x => x.Nome, "Nome do usuário é obrigatorio");
            }

            if (String.IsNullOrEmpty(novoUsuario.Senha))
            {
                violacaoDeRegras.AdicionarErro(x => x.Nome, "Senha do usuário é obrigatoria");
            }

            if (String.IsNullOrEmpty(novoUsuario.Email))
            {
                violacaoDeRegras.AdicionarErro(x => x.Nome, "Email do usuário é obrigatorio");
            }

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Beispiel #6
0
 public static void CopiarPara(this RegrasDeNegocioException ex, ModelStateDictionary modelState)
 {
     CopiarPara(ex, modelState, null);
 }