Exemple #1
0
        /// <summary>
        /// Aqui se conectara a la base de datos para ver si el usuario y contraseña son correctos y estanen el sistema
        /// </summary>
        /// <param name="usuario">usuario</param>
        /// <param name="contraseña">contraseña</param>
        /// <returns>retorna los valores significativos del usuario a utilizar en el sistema</returns>
        public string[] iniciarSesion(string usuario, string contraseña)
        {
            try
            {
                Cuenta   user      = BDLogin.ObtenerUsuario(usuario);
                string[] respuesta = new string[4];
                string   hashClave = hash(contraseña);
                if (hashClave == hash(user.Contrasena) && usuario != "" && contraseña != "")//en la Bd debe estar guardado en hash CAMBIAR ESTO!!!
                {
                    respuesta[0] = user.Id_usuario.ToString();
                    respuesta[1] = user.Nombre_usuario;
                    string   rolesConcat = "";
                    string   split       = RecursosLogicaModulo1.splitRoles;
                    int      cantRoles   = user.Roles.Count;
                    int      contador    = 0;
                    DateTime fechaRol    = new DateTime(1900, 1, 1);
                    foreach (Rol rol in user.Roles)
                    {
                        contador++;
                        //se intenta quitar la palabra Admin del rol si es que la tiene
                        string[] sinAdmin = rol.Nombre.Split(' ');
                        string   elRol    = sinAdmin[sinAdmin.Length - 1];
                        if (contador == cantRoles)
                        {
                            split = "";
                        }
                        // if(elRol==RecursosLogicaModulo1.rolAtleta ) verificar si es menor de edad
                        rolesConcat = rolesConcat + elRol + split;
                        int d = DateTime.Compare(fechaRol, rol.Fecha_creacion);
                        if (DateTime.Compare(fechaRol, rol.Fecha_creacion) == -1)
                        {
                            fechaRol     = rol.Fecha_creacion;
                            respuesta[3] = elRol;
                        }
                    }
                    respuesta[2] = rolesConcat;
                    if (rolesConcat != "")
                    {
                        return(respuesta);
                    }
                    else
                    {
                        return(null);
                    }
                    //ingresó a sistema
                }

                return(null);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error encontrado en login.iniciarSesion: " + e);
                Console.WriteLine("Mensaje: " + e.Message);
                throw e;
            }
        }
 public void PruebaObtenerPreguntaDeSeguridadUsuarioVacioException()
 {
     try
     {
         usuario.correo = "";
         BDLogin.ObtenerPreguntaSeguridad(usuario);
         Assert.Fail("Una excepcion se ha debido de lanzar");
     }
     catch (UsuarioVacioException err)
     {
     }
     catch (Exception e)
     {
         Assert.Fail(
             string.Format("Unexpected exception of type {0} caught: {1}",
                           e.GetType(), e.Message)
             );
     }
 }
 public void PruebaUsuarioVacioException()
 {
     try
     {
         BDLogin.ValidarLoginBD(usuario);
         Assert.Fail("Una excepcion se ha debido de lanzar");
     }
     catch (UsuarioVacioException usuarioVacioException)
     {
         Assert.AreEqual("Datos de usuario incompletos", usuarioVacioException.Mensaje);
     }
     catch (Exception e)
     {
         Assert.Fail(
             string.Format("Unexpected exception of type {0} caught: {1}",
                           e.GetType(), e.Message)
             );
     }
 }
 public void PruebaEmailErradoException()
 {
     try
     {
         usuario.correo = RecursosPUMod1.CorreoFallido;
         BDLogin.ObtenerPreguntaSeguridad(usuario);
         Assert.Fail("Una excepcion se ha debido de lanzar");
     }
     catch (EmailErradoException emailErradoException)
     {
         Assert.AreEqual("No se pudo obtener la pregunta de seguridad, el email es invalido", emailErradoException.Mensaje);
     }
     catch (Exception e)
     {
         Assert.Fail(
             string.Format("Unexpected exception of type {0} caught: {1}",
                           e.GetType(), e.Message)
             );
     }
 }
 public void PruebaBDLoginErradoException()
 {
     try
     {
         usuario.username = RecursosPUMod1.UsuarioFallido;
         usuario.clave    = RecursosPUMod1.ClaveFallida;
         BDLogin.ValidarLoginBD(usuario);
         Assert.Fail("Una excepcion se ha debido de lanzar");
     }
     catch (LoginErradoException err)
     {
     }
     catch (Exception e)
     {
         Assert.Fail(
             string.Format("Unexpected exception of type {0} caught: {1}",
                           e.GetType(), e.Message)
             );
     }
 }
 public void PruebaRespuestaErradoException()
 {
     try
     {
         usuario.correo             = RecursosPUMod1.CorreoExitoso;
         usuario.respuestaSeguridad = RecursosPUMod1.RespuestaDeSeguridadFallida;
         BDLogin.ValidarPreguntaSeguridadBD(usuario);
         Assert.Fail("Una excepcion se ha debido de lanzar");
     }
     catch (RespuestaErradoException respuestaErradoException)
     {
         Assert.AreEqual("No se pudo validar la pregunta, respuesta invalida", respuestaErradoException.Message);
     }
     catch (Exception e)
     {
         Assert.Fail(
             string.Format("Unexpected exception of type {0} caught: {1}",
                           e.GetType(), e.Message)
             );
     }
 }