Esempio n. 1
0
        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"));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }