public override IHtmlContent Render(IHtmlHelper html) { FillMissingAttributes(); var expandableItem = new TagBuilder("li"); if (InnerContent?.Any() ?? false) { expandableItem.AddCssClass("expandable"); } expandableItem.AddCssClass("slider-menu-item"); expandableItem.Attributes["id"] = $"{Caption.ToLower().Replace(" ", "_")}-submodels"; var link = html.ActionLink(Caption.ToUpper(), Action, Controller, new { brandID = RouteValues }); var subGroup = new TagBuilder("div"); subGroup.AddCssClass("sub-group"); subGroup.InnerHtml.AppendHtml(RenderSubmenuHeader(html)); foreach (var model in InnerContent) { subGroup.InnerHtml.AppendHtml(model.Render(html)); } expandableItem.InnerHtml.AppendHtml(link); expandableItem.InnerHtml.AppendHtml(subGroup); return(expandableItem); }
public int FindOrder(string t) { if (Caption.ToLower().StartsWith(t.ToLower())) { return(-99 + Caption.Length); } return(t.Length == 1 ? Caption.Length : Distance(Caption, t)); }
public override IHtmlContent Render(IHtmlHelper html) { FillMissingAttributes(); var expandableItem = new TagBuilder("li"); expandableItem.AddCssClass("expandable"); expandableItem.Attributes["id"] = $"{Caption.ToLower()}-models"; var link = html.ActionLink(Caption.ToUpper(), Action, Controller, new { brandID = RouteValues }); expandableItem.InnerHtml.AppendHtml(link); if (InnerContent is null) { return(expandableItem); } var subPanel = new TagBuilder("div"); subPanel.AddCssClass("sub-panel"); if (InnerContent.Count == 1) { InnerContent.First().FillMissingAttributes(); foreach (var model in InnerContent.First().InnerContent) { subPanel.InnerHtml.AppendHtml(model.Render(html)); } } else { foreach (var group in InnerContent) { subPanel.InnerHtml.AppendHtml(group.Render(html)); } } expandableItem.InnerHtml.AppendHtml(subPanel); return(expandableItem); }
public BaseWin32Entity(ManagementBaseObject obj) { Properties = new Dictionary <string, object>(); foreach (var p in obj.Properties) { Properties.Add(p.Name, p.Value); } Caption = ParseValue <string>(obj, "Caption"); Name = ParseValue <string>(obj, "Name"); Manufacturer = ParseValue <string>(obj, "Manufacturer"); Model = ParseValue <string>(obj, "Model"); Description = ParseValue <string>(obj, "Description"); if (!string.IsNullOrEmpty(Caption)) { Caption = Caption.ToLower(); } if (!string.IsNullOrEmpty(Name)) { Name = Name.ToLower(); } if (!string.IsNullOrEmpty(Manufacturer)) { Manufacturer = Manufacturer.ToLower(); } if (!string.IsNullOrEmpty(Model)) { Model = Model.ToLower(); } if (!string.IsNullOrEmpty(Description)) { Description = Description.ToLower(); } }
public override IHtmlContent Render(IHtmlHelper html) { FillMissingAttributes(); var expandableItem = new TagBuilder("li"); if (InnerContent?.Any() ?? false) { expandableItem.AddCssClass("expandable"); } expandableItem.AddCssClass("slider-menu-item"); expandableItem.Attributes["id"] = $"{Caption.ToLower()}-models"; var link = html.ActionLink(Caption.ToUpper(), Action, Controller, new { brandID = RouteValues }); expandableItem.InnerHtml.AppendHtml(link); if (InnerContent is null) { return(expandableItem); } var subPanel = new TagBuilder("div"); subPanel.AddCssClass("sub-menu"); var submodelsMenu = new TagBuilder("ul"); submodelsMenu.AddCssClass("slider-menu-nav"); if (InnerContent.Count == 1) { InnerContent.First().FillMissingAttributes(); foreach (var model in InnerContent.First().InnerContent) { submodelsMenu.InnerHtml.AppendHtml(model.Render(html)); } } else { var innerContent = new List <MobileBrandSubgroupContent>(); for (var i = InnerContent.Count - 1; i >= 0; i--) { if (string.IsNullOrEmpty(InnerContent[i].Caption.Trim())) { InnerContent[i - 1].InnerContent.AddRange(InnerContent[i].InnerContent); continue; } innerContent.Add(InnerContent[i]); } innerContent.Reverse(); foreach (var group in innerContent) { submodelsMenu.InnerHtml.AppendHtml(group.Render(html)); } } subPanel.InnerHtml.AppendHtml(RenderSubmenuHeader(html)); subPanel.InnerHtml.AppendHtml(submodelsMenu); expandableItem.InnerHtml.AppendHtml(subPanel); return(expandableItem); }