private static StringBuilder refreshAll() { var latest = new StringBuilder(); var products = Products.GetLatest(); var posts = Articles.GetLatest(); var result = products.Union(posts); result = result.OrderByDescending(item => item.Date); latest.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); latest.Append("<rss version=\"2.0\">"); latest.Append("<channel xmlns:atom=\"http://www.w3.org/2005/Atom\">"); latest.Append("<title>آخرین های آنلاین استور</title>"); latest.Append("<link>" + StaticValues.WebsiteUrl + "</link>"); latest.Append("<description>" + StaticValues.WebsiteDescription + "</description>"); latest.Append("<language>fa-IR</language>"); latest.Append("<copyright>Copyright " + DateTime.Now.Year + " " + StaticValues.WebsiteTitle + ". All rights reserved.</copyright>"); latest.Append("<lastBuildDate>" + RSSDateFormat(result.First().Date) + "</lastBuildDate>"); foreach (var item in result) { string url = String.Empty; if (item.Type == RSSRowType.Product) { var group = Groups.GetByID(item.GroupID.Value); url = (StaticValues.WebsiteUrl + UrlProvider.GetProductUrl(item.ID, group.UrlPerfix, item.UrlPerfix)).HtmlEncode(); } else { var group = Groups.GetByID(item.GroupID.Value); url = (StaticValues.WebsiteUrl + UrlProvider.GetPostUrl(item.ID, item.Title_Fa, group.TitleEn)).HtmlEncode(); } latest.Append("<item>"); latest.Append("<guid isPermaLink=\"true\">" + url + "</guid>"); latest.Append("<link>" + url + "</link>"); latest.Append("<category>" + item.GroupTitle.HtmlEncode() + "</category>"); latest.Append("<title>" + item.UrlPerfix.HtmlEncode() + "</title>"); latest.Append("<description>"); latest.Append(("<img src='" + (item.Type == RSSRowType.Product ? UrlProvider.GetProductImage(item.Image, StaticValues.DefaultProductImageSize) : UrlProvider.GetPostImage(item.Image, StaticValues.DefaultProductImageSize)) + "' />").HtmlEncode()); latest.Append(("<br/>").HtmlEncode()); latest.Append(item.Summary.HtmlEncode()); latest.Append("</description>"); latest.Append("<pubDate>" + RSSDateFormat(item.Date) + "</pubDate>"); latest.Append("</item>"); } latest.Append("</channel>"); latest.Append("</rss>"); return(latest); }
public ContentResult Blog(string id) { var groupTitle = id.DeNormalizeForUrl(); var group = Groups.GetByTitle(groupTitle, GroupType.Blogs); StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sb.Append("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">"); foreach (var item in DataLayer.Articles.GetByGroupID(group.ID)) { var lastestDate = item.LastUpdate; sb.Append(" <url>"); sb.Append(" <loc>" + StaticValues.WebsiteUrl + UrlProvider.GetPostUrl(item.ID, item.Title, group.TitleEn) + "</loc>"); sb.Append(" <lastmod>" + lastestDate.ToString("yyyy-MM-dd") + "</lastmod>"); sb.Append(" </url>"); } sb.Append("</urlset>"); return(Content(sb.ToString(), "text/xml")); }
private static StringBuilder refreshPosts(int?groupID = null) { string groupTitle = String.Empty; var latestPosts = new StringBuilder(); var posts = Articles.GetLatestPosts(groupID); if (groupID.HasValue) { groupTitle = Groups.GetByID(groupID.Value).Title; } latestPosts.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); latestPosts.Append("<rss version=\"2.0\">"); latestPosts.Append("<channel xmlns:atom=\"http://www.w3.org/2005/Atom\">"); if (!groupID.HasValue) { latestPosts.Append("<title>آخرین اخبار آنلاین استور</title>"); } else { latestPosts.Append("<title>آخرین اخبار " + groupTitle + " آنلاین استور</title>"); } latestPosts.Append("<link>" + StaticValues.WebsiteUrl + "</link>"); latestPosts.Append("<description>" + StaticValues.WebsiteDescription + "</description>"); latestPosts.Append("<language>fa-IR</language>"); latestPosts.Append("<copyright>Copyright " + DateTime.Now.Year + " " + StaticValues.WebsiteTitle + ". All rights reserved.</copyright>"); latestPosts.Append("<lastBuildDate>" + RSSDateFormat(posts.First().LastUpdate) + "</lastBuildDate>"); foreach (var item in posts) { var group = Groups.GetByID(item.GroupID); var url = (StaticValues.WebsiteUrl + UrlProvider.GetPostUrl(item.ID, item.Title, group.TitleEn)).HtmlEncode(); latestPosts.Append("<item>"); latestPosts.Append("<guid isPermaLink=\"true\">" + url + "</guid>"); latestPosts.Append("<link>" + url + "</link>"); latestPosts.Append("<category>" + item.GroupTitle.HtmlEncode() + "</category>"); latestPosts.Append("<title>" + item.Title.HtmlEncode() + "</title>"); latestPosts.Append("<description>"); latestPosts.Append(("<img src='" + UrlProvider.GetPostImage(item.Image, StaticValues.DefaultPostImageSize) + "'/>").HtmlEncode()); latestPosts.Append(("<br/>").HtmlEncode()); latestPosts.Append(item.Summary.HtmlEncode()); latestPosts.Append("</description>"); latestPosts.Append("<pubDate>" + RSSDateFormat(item.LastUpdate) + "</pubDate>"); latestPosts.Append("</item>"); } latestPosts.Append("</channel>"); latestPosts.Append("</rss>"); return(latestPosts); }
public ActionResult RedirectDetails(int id) { var article = Articles.GetByID(id); var group = Groups.GetByID(article.GroupID.Value); var url = UrlProvider.GetPostUrl(id, article.Title, group.TitleEn); return(RedirectPermanent(url)); }