Exemple #1
0
 public ActionResult Default()
 {
     return(sitemapProvider.CreateSitemap(new SitemapModel(new List <SitemapNode>
     {
         dataBuilder.CreateSitemapNodeWithRequiredProperties(),
         dataBuilder.CreateSitemapNodeWithAllProperties()
     })));
 }
Exemple #2
0
        private ActionResult CreateSitemap <T>(ISitemapProvider sitemapProvider, ISitemapIndexConfiguration <T> sitemapIndexConfiguration, List <T> items)
        {
            var sitemapNodes = items.Select(sitemapIndexConfiguration.CreateNode).ToList();

            return(sitemapProvider.CreateSitemap(new SitemapModel(sitemapNodes)
            {
                StyleSheets = sitemapIndexConfiguration.SitemapStyleSheets
            }));
        }
        private ActionResult CreateSitemap <T>(ISitemapProvider sitemapProvider, ISitemapIndexConfiguration <T> sitemapIndexConfiguration, List <T> items)
        {
            ISitemapIndexConfiguration <T> sitemapIndexConfiguration1 = sitemapIndexConfiguration;
            List <SitemapNode>             list = items.Select <T, SitemapNode>(new Func <T, SitemapNode>(sitemapIndexConfiguration1.CreateNode)).ToList <SitemapNode>();

            return(sitemapProvider.CreateSitemap(new SitemapModel(list)
            {
                StyleSheets = sitemapIndexConfiguration.SitemapStyleSheets
            }));
        }
Exemple #4
0
        public ActionResult Index()
        {
            var sitemapNodes = new List <SitemapNode>();
            var menuLinks    = _menuLinkService.FindBy(x => x.Status == 1, true);

            if (menuLinks.IsAny())
            {
                foreach (var menuLink in menuLinks)
                {
                    sitemapNodes.Add(new SitemapNode("Normal")
                    {
                        Url                  = Url.Action("GetContent", "Menu", new { menu = menuLink.SeoUrl }, Request.Url.Scheme),
                        ChangeFrequency      = ChangeFrequency.Daily,
                        Priority             = new decimal(8, 0, 0, false, 1),
                        LastModificationDate = (menuLink.UpdatedDate.HasValue ? menuLink.UpdatedDate.Value.ToString("yyyy-MM-dd") : string.Empty)
                    });
                }
            }

            return(_sitemapProvider.CreateSitemap(new SitemapModel(sitemapNodes)));
        }
Exemple #5
0
        public void CreateSitemap_SitemapModelIsNull_ThrowsException()
        {
            Action act = () => sitemapProvider.CreateSitemap(null);

            act.Should().Throw <ArgumentNullException>();
        }
Exemple #6
0
        public async Task <ActionResult> Get()
        {
            var homeURL = new List <string>
            {
                ""
            };

            var nodes = homeURL.Select(u => new SitemapNode(u)
            {
                ChangeFrequency      = ChangeFrequency.Weekly,
                LastModificationDate = DateTime.UtcNow,
                Priority             = 1.0M
            }).ToList();

            ////var constantUrls = new List<string>
            ////{
            ////    "login", "signup", "coming-soon"
            ////};

            ////var constantUrlNodes = constantUrls.Select(u => new SitemapNode(u)
            ////{
            ////    ChangeFrequency = ChangeFrequency.Monthly,
            ////    LastModificationDate = DateTime.UtcNow
            ////}).ToList();

            //foreach (var item in constantUrlNodes)
            //{
            //    nodes.Add(item);
            //}


            var eventsResult = await _querySender.Send(new EventsQuery
            {
                Channel = Channels.Feel
            });

            // TODO: Need to do SEO friendly URLs for these (both custom event slugs, and just pretty names)
            foreach (var item in eventsResult.EventsURLs)
            {
                if (!string.IsNullOrWhiteSpace(item.Description))
                {
                    var eventAltIdAsString = item.URL.Replace("&", "and").Replace(" ", "-");
                    //nodes.Add(new SitemapNode($"ticket-purchase-selection/{eventAltIdAsString}")
                    //{
                    //    ChangeFrequency = ChangeFrequency.Weekly,
                    //    LastModificationDate = DateTime.UtcNow,
                    //    Priority = 0.7M
                    //});

                    nodes.Add(new SitemapNode($"place/{eventAltIdAsString}")
                    {
                        ChangeFrequency      = ChangeFrequency.Daily,
                        LastModificationDate = DateTime.UtcNow,
                        Priority             = 0.9M
                    });
                }
            }

            // TODO: Feel needs category pages

            return(_sitemapProvider.CreateSitemap(new SitemapModel(nodes.ToList())));
        }
        public void CreateSitemap_HttpContextIsNull_ThrowsException()
        {
            Action act = () => _sitemapProvider.CreateSitemap(null, new List <SitemapNode>());

            act.ShouldThrow <ArgumentNullException>();
        }
 public ActionResult Index()
 {
     return(_sitemapProvider.CreateSitemap(HttpContext, _builder.BuildSitemapIndex()));
 }