本文整理汇总了C#中IDnaDataReader.DoesFieldExist方法的典型用法代码示例。如果您正苦于以下问题:C# IDnaDataReader.DoesFieldExist方法的具体用法?C# IDnaDataReader.DoesFieldExist怎么用?C# IDnaDataReader.DoesFieldExist使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDnaDataReader
的用法示例。
在下文中一共展示了IDnaDataReader.DoesFieldExist方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreatePostFromReader
/// <summary>
/// Returns filled object from reader
/// </summary>
/// <param name="reader"></param>
/// <param name="prefix"></param>
/// <returns></returns>
static public SearchThreadPost CreatePostFromReader(IDnaDataReader reader, int postId, string[] searchTerms)
{
SearchThreadPost searchPost = new SearchThreadPost() { PostId = postId };
ThreadPost.CreateThreadPostFromReader(reader, string.Empty, postId, (SearchThreadPost)searchPost, false);
if (reader.DoesFieldExist("rank"))
{
searchPost.Rank = reader.GetInt32NullAsZero("rank");
}
searchPost.Rank = (searchPost.Rank * 100) / 200;//normalise to out of 100
if (reader.DoesFieldExist("forumid"))
{
searchPost.ForumId = reader.GetInt32NullAsZero("forumid");
}
searchPost.Text = HtmlUtils.RemoveAllHtmlTags(searchPost.Text);
searchPost.Text = FormatSearchPost(searchPost.Text, searchTerms);
return searchPost;
}
示例2: CreateArticleSummaryFromReader
public static ArticleSummary CreateArticleSummaryFromReader(IDnaDataReader reader)
{
ArticleSummary articleSummary = new ArticleSummary();
articleSummary.H2G2ID = reader.GetInt32NullAsZero("h2g2id");
articleSummary.Name = reader.GetStringNullAsEmpty("subject");
articleSummary.StrippedName = StringUtils.StrippedName(reader.GetStringNullAsEmpty("subject"));
if (reader.DoesFieldExist("Type"))
{
articleSummary.Type = Article.GetArticleTypeFromInt(reader.GetInt32NullAsZero("Type"));
}
if (reader.DoesFieldExist("editor"))
{
articleSummary.Editor = new UserElement() { user = User.CreateUserFromReader(reader, "editor") };
}
articleSummary.DateCreated = new DateElement(reader.GetDateTime("datecreated"));
if (reader.DoesFieldExist("lastupdated"))
{
articleSummary.LastUpdated = new DateElement(reader.GetDateTime("lastupdated")); ;
}
articleSummary.Status = ArticleStatus.GetStatus(reader.GetInt32NullAsZero("status"));
return articleSummary;
}
示例3: AddCommentForumListXML
private void AddCommentForumListXML(IDnaDataReader dataReader, XmlNode commentForumList)
{
// start creating the comment forum structure
XmlNode commentForum = CreateElementNode("COMMENTFORUM");
AddAttribute(commentForum, "UID", dataReader.GetStringNullAsEmpty("uid"));
AddAttribute(commentForum, "FORUMID", dataReader.GetInt32NullAsZero("forumID").ToString());
AddAttribute(commentForum, "FORUMPOSTCOUNT", dataReader.GetInt32NullAsZero("forumpostcount").ToString());
AddAttribute(commentForum, "FORUMPOSTLIMIT", InputContext.GetSiteOptionValueInt("Forum", "PostLimit"));
AddAttribute(commentForum, "CANWRITE", dataReader.GetByteNullAsZero("CanWrite").ToString());
AddAttribute(commentForum, "NOTSIGNEDINUSERID", dataReader.GetInt32NullAsZero("NotSignedInUserID").ToString());
AddTextTag(commentForum, "HOSTPAGEURL", dataReader.GetStringNullAsEmpty("url"));
AddTextTag(commentForum, "TITLE", dataReader.GetStringNullAsEmpty("title"));
AddTextTag(commentForum, "MODSTATUS", dataReader.GetByteNullAsZero("ModerationStatus"));
AddTextTag(commentForum, "SITEID", dataReader.GetInt32NullAsZero("siteid"));
AddTextTag(commentForum, "FASTMOD", dataReader.GetInt32NullAsZero("fastmod"));
AddTextTag(commentForum, "CONTACTEMAIL", dataReader.GetStringNullAsEmpty("encryptedcontactemail"));
if (dataReader.DoesFieldExist("DateCreated") && !dataReader.IsDBNull("DateCreated"))
{
DateTime dateCreated = dataReader.GetDateTime("DateCreated");
AddElement(commentForum, "DATECREATED", DnaDateTime.GetDateTimeAsElement(RootElement.OwnerDocument, dateCreated));
}
if (dataReader.DoesFieldExist("ForumCloseDate") && !dataReader.IsDBNull("ForumCloseDate"))
{
DateTime closeDate = dataReader.GetDateTime("ForumCloseDate");
AddElement(commentForum, "CLOSEDATE", DnaDateTime.GetDateTimeAsElement(RootElement.OwnerDocument, closeDate));
}
if (dataReader.DoesFieldExist("LastUpdated") && !dataReader.IsDBNull("LastUpdated"))
{
DateTime dateLastUpdated = dataReader.GetDateTime("LastUpdated");
AddElement(commentForum, "LASTUPDATED", DnaDateTime.GetDateTimeAsElement(RootElement.OwnerDocument, dateLastUpdated));
}
int forumId = dataReader.GetInt32NullAsZero("forumID");
AddXmlTextTag(commentForum, "TERMS", "");
commentForumList.AppendChild(commentForum);
}
示例4: GenerateMemberListXml
/// <summary>
///
/// </summary>
/// <param name="dataReader"></param>
/// <param name="userSearchType"></param>
/// <param name="searchText"></param>
/// <param name="checkAllSites"></param>
/// <param name="twitterAPIException"></param>
public void GenerateMemberListXml(
IDnaDataReader dataReader,
int userSearchType,
string searchText,
bool checkAllSites,
string twitterAPIException)
{
int count = 0;
XmlNode memberList = AddElementTag(RootElement, "MEMBERLIST");
AddAttribute(memberList, "USERSEARCHTYPE", userSearchType.ToString());
AddAttribute(memberList, "SEARCHTEXT", searchText);
AddAttribute(memberList, "CHECKALLSITES", checkAllSites.ToString());
if (dataReader.HasRows)
{
if (dataReader.Read())
{
XmlNode userAccounts = AddElementTag(memberList, "USERACCOUNTS");
//int previousUserID = 0;
XmlNode userAccount = null;
do
{
int userID = dataReader.GetInt32NullAsZero("USERID");
/*if (userID != previousUserID)
{
if (userAccount != null)
{
userAccounts.AppendChild(userAccount);
}
userAccount = CreateElementNode("USERACCOUNT");
previousUserID = userID;
}*/
userAccount = CreateElementNode("USERACCOUNT");
//Start filling new user xml
AddAttribute(userAccount, "USERID", userID);
AddTextTag(userAccount, "SITEID", dataReader.GetInt32NullAsZero("SITEID"));
AddTextTag(userAccount, "USERNAME", dataReader.GetStringNullAsEmpty("USERNAME"));
AddTextTag(userAccount, "LOGINNAME", dataReader.GetStringNullAsEmpty("LOGINNAME"));
AddTextTag(userAccount, "EMAIL", dataReader.GetStringNullAsEmpty("EMAIL"));
AddTextTag(userAccount, "PREFSTATUS", dataReader.GetInt32NullAsZero("PREFSTATUS"));
AddTextTag(userAccount, "PREFSTATUSDURATION", dataReader.GetInt32NullAsZero("PREFSTATUSDURATION"));
AddTextTag(userAccount, "USERSTATUSDESCRIPTION", ((ModerationStatus.UserStatus)dataReader.GetInt32NullAsZero("PREFSTATUS")).ToString());
if (!dataReader.IsDBNull("DATEJOINED"))
{
AddDateXml(dataReader.GetDateTime("DATEJOINED"), userAccount, "DATEJOINED");
}
if (!dataReader.IsDBNull("PREFSTATUSCHANGEDDATE"))
{
DateTime prefStatusChangedDate = dataReader.GetDateTime("PREFSTATUSCHANGEDDATE");
AddDateXml(prefStatusChangedDate, userAccount, "PREFSTATUSCHANGEDDATE");
}
else
{
AddTextTag(userAccount, "PREFSTATUSCHANGEDDATE", "");
}
AddTextTag(userAccount, "SHORTNAME", dataReader.GetStringNullAsEmpty("SHORTNAME"));
AddTextTag(userAccount, "URLNAME", dataReader.GetStringNullAsEmpty("URLNAME"));
if (dataReader.DoesFieldExist("IPADDRESS") && dataReader.GetStringNullAsEmpty("IPADDRESS") != String.Empty)
{
AddTextTag(userAccount, "IPADDRESS", dataReader.GetStringNullAsEmpty("IPADDRESS"));
}
if (dataReader.DoesFieldExist("BBCUID") && dataReader.GetGuidAsStringOrEmpty("BBCUID") != String.Empty)
{
AddTextTag(userAccount, "BBCUID", dataReader.GetGuidAsStringOrEmpty("BBCUID"));
}
if (userSearchType == 6)
{
AddTextTag(userAccount, "TWITTERUSERID", dataReader.GetStringNullAsEmpty("TwitterUserID"));
}
else
{
AddIntElement(userAccount, "SSOUSERID", dataReader.GetInt32NullAsZero("SSOUserID"));
}
AddTextTag(userAccount, "IDENTITYUSERID", dataReader.GetStringNullAsEmpty("IdentityUserID"));
AddIntElement(userAccount, "ACTIVE", dataReader.GetInt32NullAsZero("STATUS") != 0 ? 1:0);
userAccounts.AppendChild(userAccount);
count++;
} while (dataReader.Read());
memberList.AppendChild(userAccounts);
}
}
//.........这里部分代码省略.........
示例5: GenerateXml
private void GenerateXml(IDnaDataReader reader, int h2g2Id, int postId, string exLinkUrl)
{
XmlElement modHistory = AddElementTag(RootElement, "MODERATION-HISTORY");
reader.Read();
if (h2g2Id > 0)
AddAttribute(modHistory, "H2G2ID", h2g2Id);
else if (postId > 0)
{
AddAttribute(modHistory, "POSTID", postId);
if ( reader.HasRows )
{
AddAttribute(modHistory, "FORUMID", reader.GetInt32NullAsZero("forumid") );
AddAttribute(modHistory, "THREADID", reader.GetInt32NullAsZero("threadid") );
}
}
else if (exLinkUrl != String.Empty)
AddAttribute(modHistory, "EXLINKURL", exLinkUrl );
if (reader.HasRows)
{
int rowCount = 0;
do
{
if (rowCount == 0)
{
AddXmlTextTag(modHistory, "SUBJECT", reader.GetStringNullAsEmpty("subject"));
if (reader.DoesFieldExist("authoruserid") && !reader.IsDBNull("authoruserid"))
{
XmlElement editorNode = AddElementTag(modHistory, "EDITOR");
User editor = new User(InputContext);
editor.AddPrefixedUserXMLBlock(reader, reader.GetInt32NullAsZero("authoruserid"), "Author", editorNode);
}
}
XmlElement moderation = AddElementTag(modHistory, "MODERATION");
AddAttribute(moderation, "MODID", reader.GetInt32NullAsZero("modid"));
AddIntElement(moderation, "STATUS", reader.GetInt32NullAsZero("status"));
AddTextElement(moderation, "URLNAME", InputContext.TheSiteList.GetSite(reader.GetInt32NullAsZero("siteid")).SiteName);
if (reader.DoesFieldExist("reasonid") && reader.GetInt32NullAsZero("reasonid") > 0)
{
AddIntElement(moderation, "REASONID", reader.GetInt32NullAsZero("reasonid"));
}
User user = new User(InputContext);
if ( !reader.IsDBNull("lockedbyuserid") )
{
XmlElement locked = AddElementTag(moderation, "LOCKED-BY");
user.AddPrefixedUserXMLBlock(reader, reader.GetInt32NullAsZero("LockedBy"), "lockedby", locked);
}
if (!reader.IsDBNull("referredbyuserid"))
{
XmlElement referred = AddElementTag(moderation, "REFERRED-BY");
user.AddPrefixedUserXMLBlock(reader, reader.GetInt32NullAsZero("referredbyuserid"), "referredby", referred);
}
XmlElement complaint = AddElementTag(moderation, "COMPLAINT");
AddTextElement(complaint, "COMPLAINT-TEXT", reader.GetStringNullAsEmpty("complainttext"));
if (reader.DoesFieldExist("complainantuserid") && !reader.IsDBNull("complainantuserid"))
{
user.AddPrefixedUserXMLBlock(reader, reader.GetInt32NullAsZero("complainantuserid"), "complainant", complaint);
}
AddTextElement(complaint, "IPADDRESS", reader.GetStringNullAsEmpty("ipaddress"));
AddTextElement(complaint, "BBCUID", reader.GetGuidAsStringOrEmpty("bbcuid").ToString());
AddTextElement(complaint, "EMAIL-ADDRESS", reader.GetStringNullAsEmpty("correspondenceemail"));
AddTextElement(moderation, "NOTES", HtmlUtils.ReplaceCRsWithBRs(reader.GetStringNullAsEmpty("notes")));
AddDateXml(reader.GetDateTime("datequeued"), moderation, "DATE-QUEUED");
if (!reader.IsDBNull("datelocked"))
{
AddDateXml(reader.GetDateTime("datelocked"), moderation, "DATE-LOCKED");
}
if (!reader.IsDBNull("datereferred"))
{
AddDateXml(reader.GetDateTime("datereferred"), moderation, "DATE-REFERRED");
}
if (!reader.IsDBNull("datecompleted"))
{
AddDateXml(reader.GetDateTime("datecompleted"), moderation, "DATE-COMPLETED");
}
++rowCount;
}
while (reader.Read());
}
}
示例6: DmUserFromReader
private User DmUserFromReader(IDnaDataReader reader, ISite site)
{
var user = new User
{
UserId = reader.GetInt32NullAsZero("DmUserID"),
DisplayName = reader.GetStringNullAsEmpty("DmUserName"),
Editor = (reader.GetInt32NullAsZero("DmUserIsEditor") == 1),
Status = reader.GetInt32NullAsZero("DmStatus"),
};
if (reader.DoesFieldExist("DmIdentityUserId"))
{
user.BbcId = reader.GetStringNullAsEmpty("DmIdentityUserId");
}
user.SiteSpecificDisplayName = string.Empty;
if (SiteList.GetSiteOptionValueBool(site.SiteID, "User", "UseSiteSuffix"))
{
if (reader.DoesFieldExist("DmSiteSpecificDisplayName"))
{
user.SiteSpecificDisplayName = reader.GetStringNullAsEmpty("SiteSpecificDisplayName");
}
}
return user;
}
示例7: AddPollXml
/// <summary>
/// AddPollXml - Delegates responsibility of producing standard Poll Xml to the Poll Class.
/// Only produces Poll Xml where a valid Poll exists in the resultset.
/// </summary>
/// <param name="dataReader">Record set containing the data</param>
/// <param name="parent">Parent node to add the xml to</param>
private void AddPollXml(IDnaDataReader dataReader, XmlNode parent)
{
if (dataReader.DoesFieldExist("CRPollID"))
{
int pollId = dataReader.GetInt32NullAsZero("CRPollID");
if (pollId > 0)
{
PollContentRating poll = new PollContentRating(this.InputContext, this.InputContext.ViewingUser);
poll.PollID = dataReader.GetInt32NullAsZero("CRPollID");
poll.Hidden = dataReader.GetInt32NullAsZero("Hidden") != 0;
int voteCount = dataReader.GetInt32NullAsZero("CRVoteCount");
double avgRating = dataReader.GetDoubleNullAsZero("CRAverageRating");
poll.SetContentRatingStatistics(voteCount, avgRating);
XmlNode node = poll.MakePollXML(false);
if (node != null)
{
parent.AppendChild(ImportNode(node));
}
}
}
}
示例8: AddCommentForumListXML
/// <summary>
/// Generates the individual Comment CommentBoxForum Xml within the Comment CommentBoxForum List xml page
/// </summary>
/// <param name="dataReader">SP containing the comment forums</param>
/// <param name="commentForumList">Parent node to attach to</param>
private void AddCommentForumListXML(IDnaDataReader dataReader, XmlNode commentForumList)
{
// start creating the comment forum structure
XmlNode commentForum = CreateElementNode("COMMENTFORUM");
AddAttribute(commentForum, "UID", dataReader.GetStringNullAsEmpty("uid"));
AddAttribute(commentForum, "FORUMID", dataReader.GetInt32NullAsZero("forumID").ToString());
AddAttribute(commentForum, "FORUMPOSTCOUNT", dataReader.GetInt32NullAsZero("forumpostcount").ToString());
AddAttribute(commentForum, "FORUMPOSTLIMIT", InputContext.GetSiteOptionValueInt("Forum", "PostLimit"));
AddAttribute(commentForum, "CANWRITE", dataReader.GetByteNullAsZero("CanWrite").ToString());
AddAttribute(commentForum, "NOTSIGNEDINUSERID", dataReader.GetInt32NullAsZero("NotSignedInUserID").ToString());
AddTextTag(commentForum, "HOSTPAGEURL", dataReader.GetStringNullAsEmpty("url"));
AddTextTag(commentForum, "TITLE", dataReader.GetStringNullAsEmpty("title"));
AddTextTag(commentForum, "MODSTATUS", dataReader.GetByteNullAsZero("ModerationStatus"));
AddTextTag(commentForum, "SITEID", dataReader.GetInt32NullAsZero("siteid"));
AddTextTag(commentForum, "FASTMOD", dataReader.GetInt32NullAsZero("fastmod"));
if (dataReader.DoesFieldExist("DateCreated") && !dataReader.IsDBNull("DateCreated"))
{
DateTime dateCreated = dataReader.GetDateTime("DateCreated");
AddElement(commentForum, "DATECREATED", DnaDateTime.GetDateTimeAsElement(RootElement.OwnerDocument, dateCreated));
}
if (dataReader.DoesFieldExist("ForumCloseDate") && !dataReader.IsDBNull("ForumCloseDate"))
{
DateTime closeDate = dataReader.GetDateTime("ForumCloseDate");
AddElement(commentForum, "CLOSEDATE", DnaDateTime.GetDateTimeAsElement(RootElement.OwnerDocument, closeDate));
}
if (dataReader.DoesFieldExist("LastUpdated") && !dataReader.IsDBNull("LastUpdated"))
{
DateTime dateLastUpdated = dataReader.GetDateTime("LastUpdated");
AddElement(commentForum, "LASTUPDATED", DnaDateTime.GetDateTimeAsElement(RootElement.OwnerDocument, dateLastUpdated));
}
int forumId = dataReader.GetInt32NullAsZero("forumID");
//get terms admin object
TermsFilterAdmin termsAdmin = TermsFilterAdmin.CreateForumTermAdmin(InputContext.CreateDnaDataReaderCreator(), _cache, forumId);
XmlDocument termNodeDoc = SerialiseToXmlDoc(termsAdmin);
string termNodeText = termNodeDoc.DocumentElement.InnerXml.ToString();
AddXmlTextTag(commentForum, "TERMS", termNodeText);
commentForumList.AppendChild(commentForum);
}
示例9: GenerateArticleSearchXml
//.........这里部分代码省略.........
AddTextTag(article, "STATUS", dataReader.GetInt32NullAsZero("status"));
AddXmlTextTag(article, "SUBJECT", dataReader.GetStringNullAsEmpty("SUBJECT"));
AddTextTag(article, "TYPE", dataReader.GetInt32NullAsZero("type"));
AddDateXml(dataReader, article, "DateCreated", "DATECREATED");
AddDateXml(dataReader, article, "LastUpdated", "LASTUPDATED");
//Add Extra Info XML where it exists.
string extraInfo = dataReader.GetAmpersandEscapedStringNullAsEmpty("EXTRAINFO");
if (extraInfo != string.Empty)
{
XmlDocument extraInfoXml = new XmlDocument();
extraInfoXml.LoadXml(extraInfo);
article.AppendChild(ImportNode(extraInfoXml.FirstChild));
}
AddTextTag(article, "NUMBEROFPOSTS", dataReader.GetInt32NullAsZero("ForumPostCount"));
AddDateXml(dataReader, article, "LASTPOSTED", "FORUMLASTPOSTED");
if (!dataReader.IsDBNull("StartDate"))
{
AddDateXml(dataReader, article, "StartDate", "DATERANGESTART");
// Take a day from the end date as stored in the database for UI purposes.
// E.g. User submits a date range of 01/09/1980 to 02/09/1980. They mean for this to represent 2 days i.e. 01/09/1980 00:00 - 03/09/1980 00:00.
// This gets stored in the database but for display purposes we subtract a day from the database end date to return the
// original dates submitted by the user inorder to match their expectations.
AddDateXml(dataReader.GetDateTime("EndDate").AddDays(-1), article, "DATERANGEEND");
AddTextTag(article, "TIMEINTERVAL", dataReader.GetInt32NullAsZero("TimeInterval"));
}
if (dataReader.DoesFieldExist("BookmarkCount"))
{
AddTextTag(article, "BOOKMARKCOUNT", dataReader.GetInt32NullAsZero("BookmarkCount"));
}
if (dataReader.DoesFieldExist("ZeitgeistScore"))
{
AddElement(article, "ZEITGEIST", "<SCORE>" + dataReader.GetDoubleNullAsZero("ZeitgeistScore") + "</SCORE>");
}
#region LocationXML
//***********************************************************************
// Location Info
//***********************************************************************
if (dataReader.DoesFieldExist("Latitude") && !dataReader.IsDBNull("Latitude"))
{
AddTextTag(article, "LATITUDE", dataReader.GetDoubleNullAsZero("Latitude").ToString());
AddTextTag(article, "LONGITUDE", dataReader.GetDoubleNullAsZero("Longitude").ToString());
if (dataReader.DoesFieldExist("Distance"))
{
if (dataReader.GetDoubleNullAsZero("Distance") < 0.0001)
{
AddTextTag(article, "DISTANCE", "0");
}
else
{
AddTextTag(article, "DISTANCE", dataReader.GetDoubleNullAsZero("Distance").ToString());
}
}
AddTextTag(article, "LOCATIONTITLE", dataReader.GetString("LocationTitle"));
AddTextTag(article, "LOCATIONDESCRIPTION", dataReader.GetString("LocationDescription"));
示例10: GetGroupedLinks
private void GetGroupedLinks(IDnaDataReader dataReader, XmlElement parent, int show)
{
string currentGroup = String.Empty;
string newGroup = String.Empty;
int count = show;
bool groupOpen = false;
XmlElement group = null;
do
{
newGroup = dataReader.GetStringNullAsEmpty("Type");
if (newGroup != currentGroup)
{
groupOpen = false;
}
if (!groupOpen)
{
groupOpen = true;
currentGroup = dataReader.GetStringNullAsEmpty("Type");
group = AddElementTag(parent, "GROUP");
AddAttribute(group, "CURRENT", dataReader.GetInt32NullAsZero("selected"));
AddTextTag(group, "NAME", currentGroup);
}
string type = dataReader.GetStringNullAsEmpty("DestinationType");
int objectID = dataReader.GetInt32NullAsZero("DestinationID");
XmlElement link = AddElementTag(group, "LINK");
AddAttribute(link, "TYPE", type);
AddAttribute(link, "LINKID", dataReader.GetInt32NullAsZero("linkID"));
AddAttribute(link, "TEAMID", dataReader.GetInt32NullAsZero("TeamID"));
AddAttribute(link, "RELATIONSHIP", StringUtils.EscapeAllXmlForAttribute(dataReader.GetStringNullAsEmpty("Relationship")));
switch (type)
{
case "article" :
{
AddAttribute(link, "DNAID", "A" + objectID.ToString());
break;
}
case "userpage" :
{
AddAttribute(link, "BIO", "U" + objectID.ToString());
break;
}
case "category" :
{
AddAttribute(link, "DNAID", "C" + objectID.ToString());
break;
}
case "forum" :
{
AddAttribute(link, "DNAID", "F" + objectID.ToString());
break;
}
case "thread" :
{
AddAttribute(link, "DNAID", "T" + objectID.ToString());
break;
}
case "posting" :
{
AddAttribute(link, "DNAID", "TP" + objectID.ToString());
break;
}
case "club" :
{
AddAttribute(link, "DNAID", "G" + objectID.ToString());
break;
}
default : // "external" :
{
AddAttribute(link, "URL", StringUtils.EscapeAllXmlForAttribute(dataReader.GetStringNullAsEmpty("URL")));
break;
}
}
AddAttribute(link, "PRIVATE", dataReader.GetTinyIntAsInt("Private"));
AddTextTag(link, "TITLE", dataReader.GetStringNullAsEmpty("Title"));
AddTextTag(link, "DESCRIPTION", dataReader.GetStringNullAsEmpty("LinkDescription"));
// Submitter, if we have one
if(dataReader.DoesFieldExist("SubmitterID"))
{
int submitterID = dataReader.GetInt32NullAsZero("SubmitterID");
XmlElement submitterTag = AddElementTag(link, "SUBMITTER");
AddIntElement(submitterTag, "USERID", submitterID);
//TODO Add all Submitter User fields to SP
//User submitter = new User(InputContext);
//submitter.AddPrefixedUserXMLBlock(dataReader, submitterID, "Submitter", submitterTag);
}
/*
//add information about a team which added the link:
CTeam team(m_InputContext);
if (team.GetAllTeamMembers(iTeamID))
{
CTDVString sTeam;
team.GetAsString(sTeam);
//.........这里部分代码省略.........
示例11: CreateList
/// <summary>
/// Helper method to create the list after a specific stored procedure
/// has been called to return an appropriate results set.
/// </summary>
/// <param name="articleList"></param>
/// <param name="dataReader"></param>
/// <param name="skip">Number of Articles to skip</param>
/// <param name="show">Number of Articles to show</param>
/// <returns></returns>
public int CreateList(XmlElement articleList, IDnaDataReader dataReader, int skip, int show)
{
int count = show;
bool records = true;
//Read/skip over the skip number of rows so that the row that the first row that in the do below is
//the one required
for (int i = 0; i < skip; i++)
{
records = dataReader.Read();
if (!records)
{
break;
}
}
if (records)
{
do
{
// Setup the article
XmlElement article = AddElementTag(articleList, "ARTICLE");
if (dataReader.DoesFieldExist("EntryID"))
{
AddIntElement(article, "ENTRY-ID", dataReader.GetInt32NullAsZero("EntryID"));
}
if (dataReader.DoesFieldExist("h2g2ID"))
{
AddAttribute(article, "H2G2ID", dataReader.GetInt32NullAsZero("h2g2ID"));
//TODO: remove the H2G2-ID from all schemas and skins...
AddIntElement(article, "H2G2-ID", dataReader.GetInt32NullAsZero("h2g2ID"));
}
if (dataReader.DoesFieldExist("SiteID"))
{
AddIntElement(article, "SITEID", dataReader.GetInt32NullAsZero("SiteID"));
}
if (dataReader.DoesFieldExist("RecommendationID"))
{
AddIntElement(article, "RECOMMENDATION-ID", dataReader.GetInt32NullAsZero("RecommendationID"));
}
if (dataReader.DoesFieldExist("NotificationSent"))
{
AddIntElement(article, "NOTIFIED", dataReader.GetBoolean("NotificationSent") ? 1 : 0);
}
User user = new User(InputContext);
if (dataReader.DoesFieldExist("Editor"))
{
// place all user details within a USER tag and structure them appropriately
// editor info
int editorID = dataReader.GetInt32NullAsZero("Editor");
XmlElement editorTag = AddElementTag(article, "EDITOR");
user.AddPrefixedUserXMLBlock(dataReader, editorID, "Editor", editorTag);
}
if (dataReader.DoesFieldExist("AuthorID"))
{
// author info
int authorID = dataReader.GetInt32NullAsZero("AuthorID");
XmlElement authorTag = AddElementTag(article, "AUTHOR");
user.AddPrefixedUserXMLBlock(dataReader, authorID, "Author", authorTag);
}
if (dataReader.DoesFieldExist("AcceptorID"))
{
// acceptor info (user that accepted a recommendation)
int acceptorID = dataReader.GetInt32NullAsZero("AcceptorID");
XmlElement acceptorTag = AddElementTag(article, "ACCEPTOR");
user.AddPrefixedUserXMLBlock(dataReader, acceptorID, "Acceptor", acceptorTag);
}
if (dataReader.DoesFieldExist("AllocatorID"))
{
// allocator info (user that allocated a recommendation to a sub)
int allocatorID = dataReader.GetInt32NullAsZero("AllocatorID");
XmlElement allocatorTag = AddElementTag(article, "ALLOCATOR");
user.AddPrefixedUserXMLBlock(dataReader, allocatorID, "Allocator", allocatorTag);
}
if (dataReader.DoesFieldExist("ScoutID"))
{
// scout info
int scoutID = dataReader.GetInt32NullAsZero("ScoutID");
XmlElement scoutTag = AddElementTag(article, "SCOUT");
user.AddPrefixedUserXMLBlock(dataReader, scoutID, "Scout", scoutTag);
}
if (dataReader.DoesFieldExist("SubEditorID"))
{
// sub editor info
//.........这里部分代码省略.........
示例12: CreateThreadSummaryFromReader
/// <summary>
///
/// </summary>
/// <param name="reader"></param>
/// <param name="forumId"></param>
/// <param name="index"></param>
/// <param name="applySkin">whether we need to apply the transform to the post</param>
/// <returns></returns>
public static ThreadSummary CreateThreadSummaryFromReader(IDnaDataReader reader, int forumId, int index, bool applySkin)
{
var thread = new ThreadSummary();
thread.ForumId = forumId;
thread.Index = index;
thread.Type = string.Empty; //TODO: remove as this is a legacy ripley element
if (reader.DoesFieldExist("ThisCanRead"))
{
thread.CanRead = (byte)(reader.GetBoolean("ThisCanRead") ? 1 : 0);
}
if (reader.DoesFieldExist("ThisCanWrite"))
{
thread.CanWrite = (byte)(reader.GetBoolean("ThisCanWrite") ? 1 : 0);
}
thread.ThreadId = reader.GetInt32NullAsZero("ThreadID");
thread.DateLastPosted = new DateElement(reader.GetDateTime("LastPosted"));
if (reader.DoesFieldExist("cnt"))
{
thread.TotalPosts = reader.GetInt32NullAsZero("cnt");
}
if (reader.DoesFieldExist("firstpostentryid"))
{
thread.FirstPost = ThreadPostSummary.CreateThreadPostFromReader(reader, "FirstPost", reader.GetInt32NullAsZero("firstpostentryid"), applySkin);
}
if (reader.DoesFieldExist("lastpostentryid"))
{
thread.LastPost = ThreadPostSummary.CreateThreadPostFromReader(reader, "LastPost", reader.GetInt32NullAsZero("lastpostentryid"), applySkin);
}
if (reader.DoesFieldExist("FirstSubject"))
{
if (thread.FirstPost != null)
{
thread.Subject = ThreadPost.FormatSubject(reader.GetString("FirstSubject"), (CommentStatus.Hidden)thread.FirstPost.Hidden);
}
else
{
thread.Subject = ThreadPost.FormatSubject(reader.GetString("FirstSubject"), CommentStatus.Hidden.NotHidden );
}
}
if(reader.DoesFieldExist("IsSticky"))
{//conditionally check if field exists..
thread.IsSticky = (reader.GetInt32NullAsZero("IsSticky")==1);
}
return thread;
}
示例13: CreatePostThreadInfoFromReader
public static PostThreadInfo CreatePostThreadInfoFromReader(IDnaDataReader reader)
{
PostThreadInfo postThreadInfo = new PostThreadInfo();
postThreadInfo.ForumId = reader.GetInt32NullAsZero("ForumId");
postThreadInfo.ThreadId = reader.GetInt32NullAsZero("ThreadId");
string type = reader.GetStringNullAsEmpty("Type");
if (type == "")
{
postThreadInfo.Type = 0;
}
else if (type == "Notice")
{
postThreadInfo.Type = 1;
}
else if (type == "Event")
{
postThreadInfo.Type = 2;
}
else
{
postThreadInfo.Type = 3;
}
if (reader.DoesFieldExist("FirstPostId"))
{
postThreadInfo.FirstPostId = reader.GetInt32NullAsZero("FirstPostId");
}
if (reader["DateFirstPosted"] != DBNull.Value)
{
postThreadInfo.DateFirstPosted = new DateElement(reader.GetDateTime("DateFirstPosted"));
}
if (reader["LastReply"] != DBNull.Value)
{
postThreadInfo.ReplyDate = new DateElement(reader.GetDateTime("LastReply"));
}
postThreadInfo.Subject = reader.GetStringNullAsEmpty("FirstSubject");
postThreadInfo.ForumTitle = reader.GetStringNullAsEmpty("ForumTitle");
if (reader.DoesFieldExist("JournalUserID"))
{
postThreadInfo.Journal = new UserElement() { user = BBC.Dna.Objects.User.CreateUserFromReader(reader, "Journal") };
}
return postThreadInfo;
}
示例14: CreateRouteXML
/// <summary>
/// CreateRouteXML from a dataReader.
/// Allows standard Route XML to be generated from different resultsets.
/// </summary>
/// <param name="dataReader"></param>
/// <param name="includeLocations">Whether the locations need to be included or just route info</param>
public void CreateRouteXML(IDnaDataReader dataReader, bool includeLocations)
{
int count = 0;
XmlElement routeXML = (XmlElement) AddElementTag(RootElement, "ROUTE");
if (dataReader.HasRows && dataReader.DoesFieldExist("RouteID"))
{
AddAttribute(routeXML, "ROUTEID", dataReader.GetInt32NullAsZero("RouteID").ToString());
AddTextTag(routeXML, "ROUTETITLE", dataReader.GetStringNullAsEmpty("RouteTitle"));
AddTextTag(routeXML, "ROUTEDESCRIPTION", dataReader.GetStringNullAsEmpty("RouteDescription"));
AddTextTag(routeXML, "DESCRIBINGARTICLEID", dataReader.GetInt32NullAsZero("H2G2ID").ToString());
AddTextTag(routeXML, "SUBJECT", dataReader.GetStringNullAsEmpty("Subject"));
//AddTextTag(routeXML, "GPSTRACKDATALOCATION", dataReader.GetStringNullAsEmpty("GPSTRACKDATALOCATION"));
if (includeLocations)
{
XmlElement locations = AddElementTag(routeXML, "LOCATIONS");
if (dataReader.NextResult() && dataReader.Read())
{
do
{
count++;
XmlElement location = AddElementTag(locations, "LOCATION");
location.SetAttribute("LOCATIONID", dataReader.GetInt32NullAsZero("LocationID").ToString());
location.SetAttribute("ORDER", dataReader.GetInt32NullAsZero("Order").ToString());
AddTextTag(location, "LATITUDE", dataReader.GetDoubleNullAsZero("Latitude").ToString());
AddTextTag(location, "LONGITUDE", dataReader.GetDoubleNullAsZero("Longitude").ToString());
AddTextTag(location, "LOCATIONTITLE", dataReader.GetStringNullAsEmpty("LocationTitle"));
AddTextTag(location, "LOCATIONDESCRIPTION", dataReader.GetStringNullAsEmpty("LocationDescription"));
AddTextTag(location, "LOCATIONZOOMLEVEL", dataReader.GetInt32NullAsZero("LocationZoomLevel").ToString());
AddTextTag(location, "LOCATIONUSERID", dataReader.GetInt32NullAsZero("LocationUserID").ToString());
AddDateXml(dataReader.GetDateTime("LocationDateCreated"), location, "LOCATIONDATECREATED");
} while (dataReader.Read());
}
AddAttribute(locations, "COUNT", count.ToString());
}
}
}
示例15: CreateThreadPostFromReader
/// <summary>
/// Creates a threadpost from a given reader
/// </summary>
/// <param name="reader"></param>
/// <param name="prefix">The data base name prefix</param>
/// <param name="postId">postId to get</param>
/// <param name="post">The post in question to load with data</param>
/// <param name="applySkin">Whether we need to process the text into html for output</param>
/// <returns></returns>
static public ThreadPost CreateThreadPostFromReader(IDnaDataReader reader,
string prefix,
int postId,
ThreadPost post,
bool applySkin)
{
if (post == null)
{
post = new ThreadPost() { PostId = postId };
}
if (reader.DoesFieldExist(prefix +"threadid"))
{
post.ThreadId = reader.GetInt32NullAsZero(prefix +"threadid");
}
if (reader.DoesFieldExist(prefix +"parent"))
{
post.InReplyTo = reader.GetInt32NullAsZero(prefix +"parent");
}
if (reader.DoesFieldExist(prefix +"replypostindex"))
{
post.InReplyToIndex = reader.GetInt32NullAsZero(prefix + "replypostindex");
}
if (reader.DoesFieldExist(prefix +"postindex"))
{
post.Index = reader.GetInt32NullAsZero(prefix + "postindex");
}
if (reader.DoesFieldExist(prefix +"prevSibling"))
{
post.PrevSibling = reader.GetInt32NullAsZero(prefix +"prevSibling");
}
if (reader.DoesFieldExist(prefix +"nextSibling"))
{
post.NextSibling = reader.GetInt32NullAsZero(prefix +"nextSibling");
}
if (reader.DoesFieldExist(prefix +"firstChild"))
{
post.FirstChild = reader.GetInt32NullAsZero(prefix +"firstChild");
}
if (reader.DoesFieldExist(prefix +"hidden"))
{
post.Hidden = (byte)reader.GetInt32NullAsZero(prefix +"hidden");
}
if (reader.DoesFieldExist(prefix +"subject"))
{
post.Subject = FormatSubject(reader.GetStringNullAsEmpty("subject"), (CommentStatus.Hidden)post.Hidden);
}
if (reader.DoesFieldExist(prefix + "datePosted") && reader[prefix + "datePosted"] != DBNull.Value)
{
post.DatePosted = new DateElement(reader.GetDateTime(prefix + "datePosted".ToString()));
}
if (reader.DoesFieldExist(prefix +"postStyle"))
{
post.Style = (PostStyle.Style)reader.GetByteNullAsZero(prefix + "postStyle");
}
if (reader.DoesFieldExist(prefix +"text"))
{
post.Text = ThreadPost.FormatPost(reader.GetStringNullAsEmpty(prefix + "text"), (CommentStatus.Hidden)post.Hidden, true, applySkin);
}
if (reader.DoesFieldExist(prefix +"hostpageurl"))
{
post.HostPageUrl = reader.GetStringNullAsEmpty(prefix + "hostpageurl");
}
if (reader.DoesFieldExist(prefix +"commentforumtitle"))
{
post.CommentForumTitle = reader.GetStringNullAsEmpty(prefix + "commentforumtitle");
}
post.User = BBC.Dna.Objects.User.CreateUserFromReader(reader);
#region Depreciated code
/*
* This code has been depreciated from forum.cpp ln 1066 as the functionality is no longer in use.
// Add the event date if it has one!
bOk = bOk && AddDBXMLDateTag("eventdate",NULL,false,true);
// Get the Type of post we're looking at
bOk = bOk && AddDBXMLTag("type",NULL,false,true,&sPostType);
// Now see if we are an event or notice, if so put the taginfo in for the post
if (sPostType.CompareText("Notice") || sPostType.CompareText("Event"))
{
// We've got a notice or event! Get all the tag info
CTagItem TagItem(m_InputContext);
if (TagItem.InitialiseFromThreadId(ThreadID,m_SiteID,pViewer) && TagItem.GetAllNodesTaggedForItem())
{
TagItem.GetAsString(sPosts);
}
//.........这里部分代码省略.........