/// <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; }