Ejemplo n.º 1
0
        public Response Autenticate(string email, string senhasistema)
        {
            Response r = new Response();

            r.Success = true;
            if (string.IsNullOrWhiteSpace(email) || string.IsNullOrWhiteSpace(senhasistema))
            {
                r.Success = false;
                r.Message = "Email/senha devem ser informados.";
            }
            else if (senhasistema.Length < 3 || senhasistema.Length > 12)
            {
                r.Success = false;
                r.Message = "Senha deve conter entre 5 e 12 caracteres.";
            }


            int nDigitos   = 0;
            int nLetras    = 0;
            int nSinais    = 0;
            int nMaiuscula = 0;
            int nMinuscula = 0;

            for (int i = 0; i < senhasistema.Length; i++)
            {
                if (char.IsNumber(senhasistema[i]))
                {
                    nDigitos++;
                }
                else if (char.IsLetter(senhasistema[i]))
                {
                    nLetras++;
                    if (char.IsUpper(senhasistema[i]))
                    {
                        nMaiuscula++;
                    }
                    else
                    {
                        nMinuscula++;
                    }
                }
                else
                {
                    nSinais++;
                }
            }

            if (nSinais < 1 || nMaiuscula < 1 || nMinuscula < 1 || nLetras < 1 || nDigitos < 1)
            {
                r.Success = false;
                r.Message = "A senha deve conter ao menos um sinal, uma letra minúscula e uma letra maiúscula";
            }


            if (r.Success)
            {
                SingleResponse <Usuario> responseF = funcionarioDAO.Autentication(email, senhasistema);

                if (responseF.Success)
                {
                    SystemVariables.funcionariologado = responseF.Data;
                }
                return(responseF);
            }
            return(r);
        }