} // getAllWebPortalUsers /// <summary> /// gets an ArrayList of all (not deleted) WebPortalUsers that are in a specified role /// </summary> /// <param name="role">the (case insensitive) role to find all users for</param> /// <returns>an ArrayList of Objects</returns> public WebPortalUser[] FetchAllWebPortalUsers(WebPortalUserRole role, WebPortalUser.SortUsersBy sortBy, PortalApplication portalApp) { string sql = getStandardUserSQL("roles.roleId = " + role.RoleID + "", sortBy, portalApp); DataSet ds = RunSelectQuery(sql); return(getWebPortalUsersFromStandardDataSet(ds)); } // getAllWebPortalUsers
public static bool Delete(WebPortalUserRole roleToDelete) { if (roleToDelete.RoleID > -1) { return((new WebPortalUserDB()).DeleteRole(roleToDelete)); } return(false); }
private WebPortalUserRole roleFromRow(DataRow dr) { int id = Convert.ToInt32(dr["roleid"]); string name = dr["Name"].ToString(); string desc = dr["Description"].ToString(); WebPortalUserRole role = new WebPortalUserRole(id, name, desc); return(role); }
/// <summary> /// adds a role to the user's role list. Does NOT save this addition to the database. /// </summary> /// <param name="role"></param> public void AddUserRole(WebPortalUserRole role) { foreach (WebPortalUserRole r in Roles) { if (r.RoleID == role.RoleID) { return; } } Roles.Add(role); }
} // userExists /// <summary> /// adds a role to the system. /// </summary> /// <param name="role"></param> /// <returns>the role that was inserted or updated.</returns> public bool InsertRole(WebPortalUserRole role) { string sql = "INSERT INTO roles (name, description) VALUES ('" + dbEncode(role.Name) + "', '" + dbEncode(role.Description) + "') "; int newId = this.RunInsertQuery(sql); if (newId > -1) { role.RoleID = newId; return(true); } else { return(false); } } // AddRole
} // constructor public WebPortalUser(int UserId, string userName, string password, string[] roleNames) { uid = UserId; UserName = userName; Password = password; FullName = ""; EmailAddress = ""; Roles = new List <WebPortalUserRole>(); foreach (string roleName in roleNames) { WebPortalUserRole role = WebPortalUserRole.Fetch(roleName); if (role != null) { AddUserRole(role); } } // foreach ApplicationPermissions = new List <PortalApplicationPermission>(); } // constructor
} // setNameAndDescriptionAndSave public bool DeleteRole(WebPortalUserRole role) { if (role.RoleID > -1) { string sql = "UPDATE roles r SET "; sql += "r.Deleted = " + DBDialect.currentDateTime + " "; sql += "WHERE r.roleId = " + role.RoleID.ToString() + " "; try { int numAffected = RunUpdateQuery(sql); return(numAffected > 0); } catch { return(false); } } return(false); } // setNameAndDescriptionAndSave
} // getUserRole public bool UpdateRole(WebPortalUserRole role) { if (role.RoleID > -1) { string sql = "UPDATE roles SET "; sql += "name = '" + dbEncode(role.Name) + "', "; sql += "description = '" + dbEncode(role.Description) + "' "; sql += "WHERE roleId = " + role.RoleID.ToString() + " "; try { int numAffected = RunUpdateQuery(sql); return(numAffected > 0); } catch { return(false); } } return(false); } // setNameAndDescriptionAndSave
} // getAllWebPortalUsers /// <summary> /// returns an ArrayList of WebPortalUser objects. The passed in DataSet MUST have been created /// using getStandardUserSQL() /// </summary> /// <param name="ds">The DataSet returned from the query</param> /// <returns>an ArrayList of WebPortalUser objects</returns> private WebPortalUser[] getWebPortalUsersFromStandardDataSet(DataSet ds) { Dictionary <string, WebPortalUser> storage = new Dictionary <string, WebPortalUser>(); if (hasRows(ds)) { foreach (DataRow dr in ds.Tables[0].Rows) { string key = dr["AppUserId"].ToString(); // -- get the user WebPortalUser user; if (!storage.ContainsKey(key)) { user = new WebPortalUser(Convert.ToInt32(dr["AppUserId"]), dr["username"].ToString(), dr["password"].ToString()); user.FullName = dr["FullName"].ToString(); user.EmailAddress = dr["EmailAddress"].ToString(); user.LastLogin = getPossiblyNullValue(dr, "LastLoginDateTime", DateTime.MinValue); } else { user = storage[key]; } // -- roles if (dr["roleid"] != System.DBNull.Value) { WebPortalUserRole role = new WebPortalUserRole(Convert.ToInt32(dr["roleid"]), dr["RoleName"].ToString(), dr["RoleDesc"].ToString()); user.AddUserRole(role); } // x.`key` as exKey, x.`value` as exVal, // -- Permissions // p.PermissionsId, p.ApplicationName, p.Action, p.Description if (dr["PermissionsId"] != System.DBNull.Value) { PortalApplicationPermission p = new PortalApplicationPermission(); p.ID = Convert.ToInt32(dr["PermissionsId"]); p.ApplicationName = dr["ApplicationName"].ToString().Trim(); p.Action = dr["Action"].ToString().Trim(); p.Description = dr["Description"].ToString(); user.AddUserPermission(p); } if (!storage.ContainsKey(key)) { storage.Add(key, user); } } // foreach row // ---- copy the storage NameValueCollection to the ArrayList } // if there is data List <WebPortalUser> ret = new List <WebPortalUser>(); foreach (string k in storage.Keys) { ret.Add(storage[k]); } return(ret.ToArray()); } // getWebPortalUsersFromStandardDataSet
} // FetchAll /// <summary> /// gets an Array of all WebPortalUsers that are in a specified role /// </summary> /// <param name="role">the (case insensitive) role to find all users for</param> /// <returns>an ArrayList of WebPortalUser Objects</returns> public static WebPortalUser[] FetchAll(WebPortalUserRole inRole, SortUsersBy sortBy, PortalApplication portalApp) { return((new WebPortalUserDB()).FetchAllWebPortalUsers(inRole, sortBy, portalApp)); } // FetchAll