示例#1
0
        /// <summary>
        /// Consulta si un usuario existe y trae su perfil
        /// </summary>
        /// <param name="sId">Id del usuario</param>
        /// <param name="sPassword">Password del usuario</param>
        /// <returns>Retorna los datos del perfil</returns>
        public Perfil ConsultarPerfil(string sId, string sPassword)
        {
            Perfil perfilRespuesta = new Perfil();
            try
            {
                DataSet dsPerfil = new DataSet();

                Database baseDatos = DatabaseFactory.CreateDatabase("SQLConectionString");
                DbCommand comando = baseDatos.GetStoredProcCommand("sp_ConsultarPerfil");
                baseDatos.AddInParameter(comando, "sId", DbType.String, sId);
                baseDatos.AddInParameter(comando, "sPassword", DbType.String, sPassword);

                baseDatos.LoadDataSet(comando, dsPerfil, "Perfil");

                if (dsPerfil != null & dsPerfil.Tables.Count != 0 & dsPerfil.Tables[0].Rows.Count != 0)
                {
                    perfilRespuesta.sNombre = dsPerfil.Tables[0].Rows[0]["sNombre"].ToString();
                    perfilRespuesta.sApellidos = dsPerfil.Tables[0].Rows[0]["sApellidos"].ToString();
                    perfilRespuesta.sDireccion = dsPerfil.Tables[0].Rows[0]["sDireccion"].ToString();
                    perfilRespuesta.sEmail = dsPerfil.Tables[0].Rows[0]["sEmail"].ToString();
                    perfilRespuesta.sTelefono = dsPerfil.Tables[0].Rows[0]["sTelefono"].ToString();
                }
            }
            catch (Exception ex)
            {
                //bool relanzar = ExceptionPolicy.HandleException(ex, "AccesoDatosPolicy");
                //if (relanzar) throw;
            }

            return perfilRespuesta;
        }
        public RespuestaModel PostLogin(Perfil login)
        {
            //Consulta a base de datos para obtener el perfil solicitado
            Perfil perfilUsuario = new PerfilBL().ConsultarPerfil(login.sId, login.sPassword);

            //Se llama a la sesión
            var session = HttpContext.Current.Session;

            //Si no hay usuarios con ese id
            if (perfilUsuario == null || string.IsNullOrEmpty(perfilUsuario.sNombre))
            {
                //Retornar mensaje de error
                return new RespuestaModel { correcto = false, resultado = "Usuario no existe" };
            }
            else
            {
                //Se genera un token para el usuario
                string tokenGenerado = new Random().Next(1, 999999999).ToString() + RandomString(4);

                //Se sube a sesión lo necesario para autenticar al usuario
                session["perfil"] = perfilUsuario;
                session["token"] = tokenGenerado;

                //Se retorna el token
                return new RespuestaModel { correcto = true, resultado = tokenGenerado };
            }
        }
 /// <summary>
 /// Constructor con los atributos
 /// </summary>
 /// <param name="correcto">Indica si la transacción fue exitosa.</param>
 /// <param name="resultado">Mensaje de error, en caso que la transacción fallara.</param>
 /// <param name="perfil">Perfil del usuario, en caso que la transacción sea exitosa.</param>
 public RespuestaModel(bool correcto, string resultado, Perfil perfil)
 {
     this.correcto = correcto;
     this.resultado = resultado;
     this.perfil = perfil;
 }