public virtual bool Equals(Page other) { if (ReferenceEquals(null, other)) { return false; } return ReferenceEquals(this, other) || Reflect().SequenceEqual(other.Reflect()); }
public NavigationModel(Page navigation) { this.Navigation = navigation; }
/// <summary> /// Determines if a page is in the hierarchy list of another page /// </summary> /// <param name="left">First page</param> /// <param name="right">Second page</param> /// <returns>Boolean indicating success or failure</returns> public static bool IsInHierarchyOf(this Page left, Page right) { return right.HierarchyFor().Select(p => p.Name).Contains(left.Name); }
protected static Page Build(Navigation builder) { var parameters = new List<Parameter>(); builder.Parameters.ForEach(param => parameters.Add(param)); var claims = new List<Claim>(); builder.Claims.ForEach(claim => claims.Add(claim)); int index = 0; var children = new List<Page>(); builder.Children.ForEach(child => { child.Index = index++; children.Add(child); }); var built = new Page { Id = GetIdentity(builder, builder.Id), Title = builder.Title, Name = builder.Name, ParentOverride = builder.ParentOverride, Description = builder.Description, Application = GetApplication(builder), Index = builder.Index, Options = builder.Options, Classifier = builder.Classifier, Condition = builder.Condition, Icon = builder.Icon, Parent = builder.Parent == null ? string.Empty : GetIdentity(builder.Parent, builder.Parent.Id), Children = children, Parameters = parameters, Claims = claims, }; builder.RunCustomBuildingLogic(built); return built; }
protected virtual void RunCustomBuildingLogic(Page built) { }
/// <summary> /// Used to initialise the navigation information /// </summary> public ViewModelBase WithNavigation(Page navigation) { this.Navigation = new NavigationModel(navigation); return this; }