/// <summary> /// Creates and adds the returned User Xml block to a given parent post node from the passed user parameters with a prefix /// ie the field name of OwnerUserName, OwnerFirstNames /// </summary> /// <param name="dataReader">Data reader object</param> /// <param name="userID">The users id</param> /// <param name="prefix">The prefix of the field names for a different user in the same result set</param> /// <param name="parent">The parent Node to add the user xml to</param> /// <returns>XmlNode Containing user XML from the stored procedure</returns> public void AddPrefixedUserXMLBlock(IDnaDataReader dataReader, int userID, string prefix, XmlNode parent) { string userName = ""; if (dataReader.Exists(prefix + "UserName")) { userName = dataReader.GetStringNullAsEmpty(prefix + "UserName"); } else if (dataReader.Exists(prefix + "Name")) { userName = dataReader.GetStringNullAsEmpty(prefix + "Name"); } if (userName == String.Empty) { userName = "******" + userID.ToString(); } string identityUserId = ""; if (dataReader.Exists(prefix + "identityUserId")) { identityUserId = dataReader.GetStringNullAsEmpty(prefix + "identityUserId"); } string emailAddress = ""; if (dataReader.Exists(prefix + "Email")) { emailAddress = dataReader.GetStringNullAsEmpty(prefix + "Email"); } double zeigeistScore = 0.0; if (dataReader.DoesFieldExist(prefix + "ZeitgeistScore")) { zeigeistScore = dataReader.GetDoubleNullAsZero(prefix + "ZeitgeistScore"); } string siteSuffix = ""; if (dataReader.Exists(prefix + "SiteSuffix")) { siteSuffix = dataReader.GetStringNullAsEmpty(prefix + "SiteSuffix"); } string area = ""; if (dataReader.Exists(prefix + "Area")) { area = dataReader.GetStringNullAsEmpty(prefix + "Area"); } string title = ""; if (dataReader.Exists(prefix + "Title")) { title = dataReader.GetStringNullAsEmpty(prefix + "Title"); } int subQuota = 0; if (dataReader.Exists(prefix + "SubQuota")) { subQuota = dataReader.GetInt32NullAsZero(prefix + "SubQuota"); } int allocations = 0; if (dataReader.Exists(prefix + "Allocations")) { allocations = dataReader.GetInt32NullAsZero(prefix + "Allocations"); } int journal = 0; if (dataReader.Exists(prefix + "Journal")) { journal = dataReader.GetInt32NullAsZero(prefix + "Journal"); } bool isActive = false; if (dataReader.Exists(prefix + "Active") && !dataReader.IsDBNull(prefix + "Active")) { isActive = dataReader.GetBoolean(prefix + "Active"); } DateTime dateLastNotified = DateTime.MinValue; if (dataReader.Exists(prefix + "DateLastNotified") && dataReader.GetValue(prefix + "DateLastNotified") != DBNull.Value) { dateLastNotified = dataReader.GetDateTime(prefix + "DateLastNotified"); } DateTime dateJoined = DateTime.MinValue; if (dataReader.Exists(prefix + "DateJoined") && dataReader.GetValue(prefix + "DateJoined") != DBNull.Value) { dateJoined = dataReader.GetDateTime(prefix + "DateJoined"); } int forumPostedTo = -1; if (dataReader.Exists(prefix + "ForumPostedTo")) { forumPostedTo = dataReader.GetInt32NullAsZero(prefix + "ForumPostedTo"); } int masthead = -1; if (dataReader.Exists(prefix + "Masthead")) { masthead = dataReader.GetInt32NullAsZero(prefix + "Masthead"); } int sinbin = -1; if (dataReader.Exists(prefix + "SinBin")) { sinbin = dataReader.GetInt32NullAsZero(prefix + "SinBin"); } int forumID = -1; if (dataReader.Exists(prefix + "ForumID")) { forumID = dataReader.GetInt32NullAsZero(prefix + "ForumID"); } XmlNode userXML = GenerateUserXml(userID, userName, emailAddress, dataReader.GetStringNullAsEmpty(prefix + "FirstNames"), dataReader.GetStringNullAsEmpty(prefix + "LastName"), dataReader.GetInt32NullAsZero(prefix + "Status"), dataReader.GetInt32NullAsZero(prefix + "TaxonomyNode"), isActive, zeigeistScore, siteSuffix, area, title, journal, dateLastNotified, subQuota, allocations, dateJoined, forumID, forumPostedTo, masthead, sinbin, identityUserId); if (userXML != null) { XmlNode importxml = parent.OwnerDocument.ImportNode(userXML, true); parent.AppendChild(importxml); } }
/// <summary> /// Creates user object from given reader and user id /// </summary> /// <param name="reader"></param> /// <param name="userID"></param> /// <returns></returns> static public User CreateUserFromReader(IDnaDataReader reader, string prefix) { //IUser user = new User(_dnaDataReaderCreator, _dnaDiagnostics, _cacheManager); IUser user = new User(); if (reader.Exists(prefix + "userID")) { user.UserId = reader.GetInt32NullAsZero(prefix + "userID"); } else if (reader.Exists(prefix + "ID")) { user.UserId = reader.GetInt32NullAsZero(prefix + "ID"); } if (reader.Exists(prefix + "IdentityUserID")) { user.IdentityUserId = reader.GetStringNullAsEmpty(prefix + "IdentityUserId"); } if (reader.Exists(prefix + "IdentityUserName")) { user.IdentityUserName = reader.GetStringNullAsEmpty(prefix + "IdentityUserName"); } else if (reader.Exists(prefix + "LoginName")) { user.IdentityUserName = reader.GetStringNullAsEmpty(prefix + "LoginName"); } /* if (reader.Exists(prefix + "FirstNames")) { user.FirstNames = reader.GetStringNullAsEmpty(prefix + "FirstNames") ?? ""; } if(reader.Exists(prefix + "LastName")) { user.LastName = reader.GetStringNullAsEmpty(prefix + "LastName") ?? ""; } */ if(reader.Exists(prefix + "Status")) { user.Status= reader.GetInt32NullAsZero(prefix + "Status"); } if(reader.Exists(prefix + "TaxonomyNode")) { user.TaxonomyNode= reader.GetInt32NullAsZero(prefix + "TaxonomyNode"); } if (reader.Exists(prefix + "UserName")) { user.UserName = reader.GetStringNullAsEmpty(prefix + "UserName") ?? ""; } else if (reader.Exists(prefix + "Name")) { user.UserName = reader.GetStringNullAsEmpty(prefix + "Name") ?? ""; } if (user.UserName == String.Empty) { user.UserName = "******" + user.UserId.ToString(); } /* NO NO not emails * if (reader.Exists(prefix + "Email")) { user.Email = reader.GetStringNullAsEmpty(prefix + "Email") ?? ""; } */ if (reader.Exists(prefix + "SiteSuffix")) { user.SiteSuffix = reader.GetStringNullAsEmpty(prefix + "SiteSuffix") ?? ""; } if (reader.Exists(prefix + "Area")) { user.Area = reader.GetStringNullAsEmpty(prefix + "Area") ?? ""; } if (reader.Exists(prefix + "Title")) { user.Title = reader.GetStringNullAsEmpty(prefix + "Title") ?? ""; } if (reader.Exists(prefix + "SubQuota")) { user.SubQuota = reader.GetInt32NullAsZero(prefix + "SubQuota"); } if (reader.Exists(prefix + "Allocations")) { user.Allocations = reader.GetInt32NullAsZero(prefix + "Allocations"); } if (reader.Exists(prefix + "Journal")) { user.Journal = reader.GetInt32NullAsZero(prefix + "Journal"); } if (reader.Exists(prefix + "Active") && !reader.IsDBNull(prefix + "Active")) { user.Active = reader.GetBoolean(prefix + "Active"); } if (reader.Exists(prefix + "DateLastNotified") && reader.GetValue(prefix + "DateLastNotified") != DBNull.Value) { user.DateLastNotified = new DateElement(reader.GetDateTime(prefix + "DateLastNotified")); } if (reader.Exists(prefix + "DateJoined") && reader.GetValue(prefix + "DateJoined") != DBNull.Value) { user.DateJoined = new DateElement(reader.GetDateTime(prefix + "DateJoined")); } if (reader.Exists(prefix + "ForumPostedTo")) { user.ForumPostedTo = reader.GetInt32NullAsZero(prefix + "ForumPostedTo"); } if (reader.Exists(prefix + "Masthead")) { user.MastHead = reader.GetInt32NullAsZero(prefix + "Masthead"); } if (reader.Exists(prefix + "SinBin")) { user.SinBin = reader.GetInt32NullAsZero(prefix + "SinBin"); } if (reader.Exists(prefix + "ForumID")) { user.ForumId = reader.GetInt32NullAsZero(prefix + "ForumID"); } var siteId = 0; if (reader.Exists("SiteID")) { siteId = reader.GetInt32NullAsZero("SiteID"); } if (siteId != 0 && user.UserId != 0) { var userGroups = (UserGroups)SignalHelper.GetObject(typeof(UserGroups)); var groupList = userGroups.GetUsersGroupsForSite(user.UserId, siteId); foreach (var group in groupList) { user.Groups.Add(new Group(){Name = group.Name.ToUpper()}); } } else { } return (User)user; }