private AuthUserInformationModel BuildAuthUserInformationModel(DataTable userInfoTable) { // Get basic user information from the databases AuthUserInformationModel userInfo = new AuthUserInformationModel(); userInfo.UserKey = userInfoTable.Rows[0]["User_Key"].ToString(); userInfo.OldUserKey = userInfoTable.Rows[0]["SecurityUser_Key"].ToString(); userInfo.Username = userInfoTable.Rows[0]["UserName"].ToString(); userInfo.FullName = userInfo.Username.Split('@')[0]; // TODO: This should be changed to use the real Full Name of the users userInfo.RoleLookup = new Dictionary <string, int>(); // Lookup roles for this current user SqlGenerator sqlGenLevels = new SqlGenerator(SqlGenerator.SqlTypes.Select, "UserRight", true); sqlGenLevels.AddTable("SecurityObject", SqlGenerator.SqlJoins.Inner, "SecurityObject_Key"); sqlGenLevels.AddField("ObjectTitle", "SecurityObject"); sqlGenLevels.AddField("SecurityLevel", "UserRight"); sqlGenLevels.AddWhereParameter("UserRight", "SecurityUser_Key", userInfo.OldUserKey, SqlWhereComparison.SqlComparer.Equal); // Loop through all of our role levels and assign them to our AuthUserInformationModel.RoleLookup dictionarys using (SqlDataReader r = Adocls.FetchDataReader(sqlGenLevels, "UserDatabase")) { while (r.Read()) { userInfo.RoleLookup.Add((string)r["ObjectTitle"], (byte)r["SecurityLevel"]); } } return(userInfo); }