public Breadcrumb Swap(Breadcrumb lineage)
        {
            Region = lineage.Authority;
            Authority = lineage.Locality;
            Locality = lineage.Organisation;

            return this;
        }
Exemple #2
0
        public void Constructor_SetsIsRequestedPageFalseWhenNotRequestedPage()
        {
            var request = new PageRequestModel {
                RequestedPage = 22
            };
            var o = new PageLinkModel(request, 21, "21");

            Assert.IsFalse(o.IsRequestedPage);
        }
Exemple #3
0
        public PageLinkModel ExtractLink()
        {
            var info = new PageLinkModel
            {
                Id       = Id,
                Text     = TradingName,
                Title    = string.Format("{0}, {1}", TradingName, Postcode),
                Filename = Filename,
            };

            return(info);
        }
 public void Constructor_SetsProperties()
 {
     var request = new PageRequestModel { RequestedPage = 11 };
     var linkPage = 11;
     var linkText = "eleven";
     var o = new PageLinkModel(request, linkPage, linkText);
     Assert.AreSame(request, o.Request);
     Assert.AreEqual(linkPage, o.LinkPage);
     Assert.AreEqual(linkText, o.LinkText);
     Assert.AreEqual(o.LinkPage, o.LowerPage);
     Assert.AreEqual(o.LinkPage, o.UpperPage);
     Assert.IsFalse(o.IsPageRange);
     Assert.IsTrue(o.IsRequestedPage);
 }
Exemple #5
0
        public PageLinkModel ExtractNextLink()
        {
            if (QualifiedName.IsNullOrEmpty())
            {
                throw new ArgumentNullException("QualifiedName");
            }

            Authority sibbling = null;

            // create a default
            var result = new PageLinkModel
            {
                Text     = QualifiedName,
                Title    = QualifiedName,
                Filename = CleanQualifiedName
            };

            if (ParentAuthority != null)
            {
                var ints = ParentAuthority.Authoritys
                           .Where(h => h.HasHauntedOrgs && !h.IsCrossBorderArea)
                           .OrderBy(o => o.QualifiedName)
                           .Select(s => s.Id).ToList();

                var nextId = ints.FindNext(Id);

                if (nextId.HasValue)
                {
                    sibbling = ParentAuthority.Authoritys
                               .FirstOrDefault(x => x.Id == nextId);
                }
            }

            if (sibbling == null)
            {
                return(result);
            }

            result = new PageLinkModel
            {
                Text     = sibbling.QualifiedName,
                Title    = sibbling.QualifiedName,
                Filename = sibbling.CleanQualifiedName
            };

            return(result);
        }
Exemple #6
0
        public void Constructor_SetsProperties()
        {
            var request = new PageRequestModel {
                RequestedPage = 11
            };
            var linkPage = 11;
            var linkText = "eleven";
            var o        = new PageLinkModel(request, linkPage, linkText);

            Assert.AreSame(request, o.Request);
            Assert.AreEqual(linkPage, o.LinkPage);
            Assert.AreEqual(linkText, o.LinkText);
            Assert.AreEqual(o.LinkPage, o.LowerPage);
            Assert.AreEqual(o.LinkPage, o.UpperPage);
            Assert.IsFalse(o.IsPageRange);
            Assert.IsTrue(o.IsRequestedPage);
        }
Exemple #7
0
        private PageLinkModel CreatePageLinkModel(KeyValuePair <string, int> pathKeyValuePair,
                                                  ref int index, int rank, IEnumerable <Org> data
                                                  )
        {
            if (pathKeyValuePair.Key.IsNullOrEmpty())
            {
                throw new Exception(
                          "The key is null or empty; this is usually because the CountryID or AddressTypeID is null or [HauntedOrgs_Fix] has not been run.");
            }

            var lineage = new GeoPathModel(pathKeyValuePair.Key);

            var queryable = data
                            .Where(org => org.HauntedStatus &&
                                   org.Authority.ParentAuthority.Name == lineage.ParentOfRightmost &&
                                   org.Authority.QualifiedName == lineage.Rightmost
                                   )
                            .ToList();

            var links = queryable
                        .Select(x => x.ExtractLink())
                        .ToList();

            var result = new PageLinkModel();

            if (!queryable.Any())
            {
                return(result);
            }

            var first = queryable.First();

            result = new PageLinkModel
            {
                Text  = string.Format("{0}. {1}", rank, lineage.FriendlyDescription),
                Title =
                    string.Format("{0} ({1} pubs in this area)",
                                  lineage.FriendlyDescription, pathKeyValuePair.Value),
                Filename = first.Authority.CleanQualifiedName,
                Id       = index - 1,
                Links    = links
            };

            return(result);
        }
Exemple #8
0
        public PageLinkModel ExtractNextLink()
        {
            if (TradingName.IsNullOrEmpty())
            {
                throw new ArgumentNullException("TradingName");
            }

            Org sibbling = null;

            var result = new PageLinkModel
            {
                Text     = TradingName,
                Title    = TradingName,
                Filename = Filename
            };

            var ints = Authority.Orgs
                       .Where(h => h.HauntedStatus)
                       .OrderBy(o => o.QualifiedLocality)
                       .Select(s => s.Id).ToList();

            var nextId = ints.FindNext(Id);

            if (nextId.HasValue)
            {
                sibbling = Authority.Orgs
                           .FirstOrDefault(x => x.Id == nextId.Value);
            }

            if (sibbling != null)
            {
                result = new PageLinkModel
                {
                    Text     = sibbling.TradingName,
                    Title    = sibbling.TradingName,
                    Filename = sibbling.Filename
                };
            }

            return(result);
        }
Exemple #9
0
            public void GetPage_PageIsFound_ReturnsStatusCodeAndPageModel(HttpStatusCode statusCode)
            {
                // Arrange
                var pageModel = new PageLinkModel
                {
                    Name     = "pageName",
                    NodeGuid = Guid.Empty
                };

                getPageMockAction.ProcessAction(Arg.Any <string>()).Returns(new GetPageActionResult(statusCode, page: pageModel));

                // Act
                var result = richTextController.GetPage("pageUrlPath");

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result, Is.TypeOf <OkNegotiatedContentResult <PageLinkModel> >());
                    Assert.That((result as OkNegotiatedContentResult <PageLinkModel>).Content, Is.EqualTo(pageModel));
                });
            }
Exemple #10
0
        //public static MvcHtmlString PageLinks(this HtmlHelper html, PageLinkModel pages, Func<int,string> func )
        //{
        //    StringBuilder result = new StringBuilder();
        //    for (int i = 1; 1 <= pages.CountPages; i++)
        //    {
        //        TagBuilder tag = new TagBuilder("a");
        //        tag.MergeAttribute("href",func(i));
        //        tag.InnerHtml = i.ToString();


        //        if (i == pages.CurrentPage)
        //            tag.AddCssClass("btn btn-success");
        //        else
        //            tag.AddCssClass("btn btn-outline-success");
        //        result.Append(tag.ToString());
        //    }
        //    return MvcHtmlString.Create(result.ToString());
        //}
        public static MvcHtmlString PageLinks(this AjaxHelper html,
                                              PageLinkModel pages, Func <int, string> func, string target)
        {
            StringBuilder result = new StringBuilder();

            for (int i = 1; i <= pages.CountPages; i++)
            {
                TagBuilder tag = new TagBuilder("a");
                tag.MergeAttribute("href", func(i));
                tag.InnerHtml = i.ToString();


                AjaxOptions options = new AjaxOptions();
                options.UpdateTargetId = target;
                tag.MergeAttributes(options.ToUnobtrusiveHtmlAttributes());


                tag.AddCssClass("btn btn-success");

                result.Append(tag.ToString());
            }
            return(MvcHtmlString.Create(result.ToString()));
        }
Exemple #11
0
        public OutputViewModel PrepareLocalityModel(
            IEnumerable <KeyValuePair <string, PageLinkModel> > orgLocalityLinks, string locality,
            Authority authority)
        {
            if (orgLocalityLinks == null)
            {
                throw new ArgumentNullException("orgLocalityLinks");
            }
            if (locality == null)
            {
                throw new ArgumentNullException("locality");
            }
            if (authority == null)
            {
                throw new ArgumentNullException("authority");
            }

            var collection = new PageLinkKeyedCollection(orgLocalityLinks, locality);

            if (collection.NextSibling.Key == null)
            {
                return(null);
            }

            var next = new PageLinkModel
            {
                Text     = collection.NextSibling.Key,
                Title    = collection.NextSibling.Key,
                Filename = collection.NextSibling.Key.In(authority.CleanQualifiedName, true),
            };

            var model = OutputViewModel.CreateLocalityOutputViewModel(locality, authority,
                                                                      collection.Links, next, "{0}, {1}, {2}");

            return(model);
        }
 public void Constructor_SetsIsRequestedPageFalseWhenNotRequestedPage()
 {
     var request = new PageRequestModel { RequestedPage = 22 };
     var o = new PageLinkModel(request, 21, "21");
     Assert.IsFalse(o.IsRequestedPage);
 }