本文整理汇总了C#中Post.Import方法的典型用法代码示例。如果您正苦于以下问题:C# Post.Import方法的具体用法?C# Post.Import怎么用?C# Post.Import使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Post
的用法示例。
在下文中一共展示了Post.Import方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddPost
/// <summary>
/// Add new blog post to system
/// </summary>
/// <returns>
/// string containing unique post identifier
/// </returns>
public string AddPost(BlogMlExtendedPost extPost)
{
if (!Security.IsAdministrator)
{
throw new InvalidOperationException("BlogImporter.AddPost: Wrong credentials");
}
using (var p = new Post())
{
p.Title = extPost.BlogPost.Title;
p.DateCreated = extPost.BlogPost.DateCreated;
p.DateModified = extPost.BlogPost.DateModified;
p.Content = extPost.BlogPost.Content.UncodedText;
p.Description = extPost.BlogPost.Excerpt.UncodedText;
p.IsPublished = extPost.BlogPost.Approved;
if (!string.IsNullOrEmpty(extPost.PostUrl))
{
// looking for a Slug with patterns such as:
// /some-slug.aspx
// /some-slug.html
// /some-slug
//
Match slugMatch = Regex.Match(extPost.PostUrl, @"/([^/\.]+)(?:$|\.[\w]{1,10}$)", RegexOptions.IgnoreCase);
if (slugMatch.Success)
p.Slug = slugMatch.Groups[1].Value.Trim();
}
if(extPost.BlogPost.Authors != null && extPost.BlogPost.Authors.Count > 0)
p.Author = extPost.BlogPost.Authors[0].Ref;
if (extPost.Categories != null && extPost.Categories.Count > 0)
p.Categories.AddRange(extPost.Categories);
if(extPost.Tags != null && extPost.Tags.Count > 0)
p.Tags.AddRange(extPost.Tags);
// skip if post with this url already exists
var s = PostUrl(p.Slug, p.DateCreated);
var list = Post.Posts.FindAll(ps => ps.RelativeLink == s);
if (list.Count > 0)
{
return string.Empty;
}
if(extPost.Comments != null && extPost.Comments.Count > 0)
{
foreach (var comment in extPost.Comments)
{
p.ImportComment(comment);
}
}
p.Import();
return p.Id.ToString();
}
}
示例2: AddPost
/// <summary>
/// Add new blog post to system
/// </summary>
/// <returns>
/// string containing unique post identifier
/// </returns>
public string AddPost(BlogMlExtendedPost extPost)
{
if (!Security.IsAdministrator)
{
throw new InvalidOperationException("BlogImporter.AddPost: Wrong credentials");
}
using (var p = new Post())
{
p.Title = extPost.BlogPost.Title;
p.DateCreated = extPost.BlogPost.DateCreated;
p.DateModified = extPost.BlogPost.DateModified;
p.Content = extPost.BlogPost.Content.UncodedText;
p.Description = extPost.BlogPost.Excerpt.UncodedText;
p.IsPublished = extPost.BlogPost.Approved;
if(extPost.BlogPost.Authors != null && extPost.BlogPost.Authors.Count > 0)
p.Author = extPost.BlogPost.Authors[0].Ref;
if (extPost.Categories != null && extPost.Categories.Count > 0)
p.Categories.AddRange(extPost.Categories);
if(extPost.Tags != null && extPost.Tags.Count > 0)
p.Tags.AddRange(extPost.Tags);
// skip if post with this url already exists
var s = PostUrl(p.Slug, p.DateCreated);
var list = Post.Posts.FindAll(ps => ps.RelativeLink == s);
if (list.Count > 0)
{
return string.Empty;
}
if(extPost.Comments != null && extPost.Comments.Count > 0)
{
foreach (var comment in extPost.Comments)
{
p.ImportComment(comment);
}
}
p.Import();
return p.Id.ToString();
}
}
示例3: AddPost
public string AddPost(ImportPost import, string previousUrl, bool removeDuplicate)
{
Security.ImpersonateUser(AuthenticationHeader.Username, AuthenticationHeader.Password);
if (!Security.IsAuthenticated)
{
throw new InvalidOperationException("Wrong credentials");
}
if (!Security.IsAuthorizedTo(Rights.CreateNewPosts))
{
throw new InvalidOperationException("Insufficient rights to create a new post");
}
if (removeDuplicate && !Post.IsTitleUnique(import.Title))
{
// Search for matching post (by date and title) and delete it
foreach (var temp in
Post.GetPostsByDate(import.PostDate.AddDays(-2), import.PostDate.AddDays(2)).Where(
temp => temp.Title == import.Title))
{
temp.Delete();
temp.Import();
}
}
var post = new Post
{
Title = import.Title,
Author = import.Author,
DateCreated = import.PostDate,
DateModified = import.PostDate,
Content = import.Content,
Description = import.Description,
IsPublished = import.Publish
};
// TODO: Save Previous Url?
AddCategories(import.Categories, post);
// Tag Support:
// No tags. Use categories.
post.Tags.AddRange(import.Tags.Count == 0 ? import.Categories : import.Tags);
post.Import();
return post.Id.ToString();
}