Ejemplo n.º 1
0
        private void ValidarOutrasRegras(string login, string senha)
        {
            var violacaoDeRegras = new RegraDeNegocioException <Usuario>();

            var usuario = Contexto.Usuarios.SingleOrDefault(u => u.Login == login);

            if (usuario == null)
            {
                violacaoDeRegras.AdicionarErro(x => x.Login, "Usuário inexistente");
            }
            else
            {
                var senhaDescriptografada = (new Criptografia()).Descriptografar(usuario.Senha);

                if (senhaDescriptografada != senha)
                {
                    violacaoDeRegras.AdicionarErro(x => x.Login, "Senha incorreta");
                }
            }

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Ejemplo n.º 2
0
        private void ValidarNovoUsuario(Usuario novoUsuario)
        {
            var violacaoDeRegras = new RegraDeNegocioException <Usuario>();

            ValidaCamposObrigatorios(novoUsuario, violacaoDeRegras);

            ValidaOutraRegras(novoUsuario, violacaoDeRegras);
        }
        public static void CopiarPara(this RegraDeNegocioException e, ModelStateDictionary modelState, string prefixo)
        {
            prefixo = string.IsNullOrEmpty(prefixo) ? "" : prefixo + ".";

            foreach (var prop in e.Erros)
            {
                string chave = ExpressionHelper.GetExpressionText(prop.Propriedade);
                modelState.AddModelError(prefixo + chave, prop.Mensagem);
            }
        }
Ejemplo n.º 4
0
        private void ValidarCamposObrigatorios(string login, string senha)
        {
            var violacaoDeRegras = new RegraDeNegocioException <Usuario>();

            if (String.IsNullOrEmpty(login) || String.IsNullOrEmpty(senha))
            {
                violacaoDeRegras.AdicionarErro(x => x.Login, "Informe Login e Senha");
            }

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Ejemplo n.º 5
0
        private void ValidaOutraRegras(Usuario novoUsuario, RegraDeNegocioException <Usuario> violacaoDeRegras)
        {
            if (EmailJaExiste(novoUsuario.Email))
            {
                violacaoDeRegras.AdicionarErro(x => x.Email, "Email já existente");
            }

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

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Ejemplo n.º 6
0
        public void ValidarAlterarUsuario(Usuario usuario)
        {
            var violacaoDeRegras = new RegraDeNegocioException <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á existente");
            }

            ValidaCamposObrigatorios(usuario, violacaoDeRegras);

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
Ejemplo n.º 7
0
        private static void ValidaCamposObrigatorios(Usuario novoUsuario, RegraDeNegocioException <Usuario> violacaoDeRegras)
        {
            if (String.IsNullOrEmpty(novoUsuario.Nome))
            {
                violacaoDeRegras.AdicionarErro(x => x.Nome, "Informe o nome do usuário");
            }

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

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

            if (violacaoDeRegras.Erros.Any())
            {
                throw violacaoDeRegras;
            }
        }
 public static void CopiarPara(this RegraDeNegocioException e, ModelStateDictionary modelState)
 {
     CopiarPara(e, modelState, null);
 }