public ActionResult Index(PagerParameters pagerParameters)
        {
            var pager      = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var pagerShape = _orchardServices.New.Pager(pager).TotalItemCount(_redirectService.GetRedirectsTotalCount());
            var items      = _redirectService.GetRedirects(pager.GetStartIndex(), pager.PageSize);

            dynamic viewModel = Shape.ViewModel()
                                .Redirects(items)
                                .Pager(pagerShape);

            return(View((object)viewModel));
        }
        private XElement ExportInternalRecordsCommands()
        {
            var result = _redirectService.GetRedirects();

            if (result.Count() > 0)
            {
                var root = new XElement("Command");
                root.Add(Environment.NewLine);
                foreach (var red in result)
                {
                    root.Add($"redirects import {red.CreatedDateTime.Ticks} {red.SourceUrl} {red.DestinationUrl} {red.IsPermanent} " + Environment.NewLine);
                }
                return(root);
            }
            else
            {
                return(null);
            }
        }
        public ActionResult Index(PagerParameters pagerParameters)
        {
            var pager      = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var tot        = _redirectService.GetTable().Count();
            var pagerShape = _orchardServices.New.Pager(pager).TotalItemCount(tot);
            // adjust page value (in case of a previous deletion)
            var firstItemInPage = pager.PageSize * (pager.Page - 1) + 1;

            if (firstItemInPage > tot)
            {
                pager.Page = decimal.ToInt32(decimal.Ceiling(new decimal(tot) / pager.PageSize));
                pagerShape = _orchardServices.New.Pager(pager).TotalItemCount(tot);
            }

            var     items     = _redirectService.GetRedirects(pager.GetStartIndex(), pager.PageSize);
            dynamic viewModel = Shape.ViewModel()
                                .Redirects(items)
                                .Pager(pagerShape);

            return(View((object)viewModel));
        }
        public void RedirectsAreCreatedCorrectly()
        {
            Assert.That(_redirectService.GetRedirectsTotalCount(), Is.EqualTo(0));
            var role = new RedirectRule {
                SourceUrl      = "sourceUrl",
                DestinationUrl = "destinationUrl",
                IsPermanent    = false
            };

            Assert.That(_redirectService.GetRedirectsTotalCount(), Is.EqualTo(0));

            PopulateTable(6);
            Assert.That(_redirectService.GetRedirectsTotalCount(), Is.EqualTo(6));

            var created = _redirectService.GetRedirects().ToArray();

            Assert.That(created.Length, Is.EqualTo(6));

            var sameObjects = true;

            for (int i = 0; i < created.Length; i++)
            {
                sameObjects &= created[i].SourceUrl == ("sourceUrl" + i.ToString()) &&
                               created[i].DestinationUrl == ("destinationUrl" + i.ToString()) &&
                               created[i].IsPermanent == (i % 2 == 0);
            }

            Assert.That(sameObjects);
        }