private static List<BreadCrumbItemDTO> CreateBreadcrumbWithSecondLevel(EntityDTO currentDTO, List<BreadCrumbItemDTO> currentList) { EntityDTO parent = data.GetParentDiagram(currentDTO.ID); if (parent != null) { //builder.AppendFormat("<a href=\"Default.aspx?id={0}\">{1}</a>", parent.ID, parent.Name); //builder.Append(" > "); BreadCrumbItemDTO p = new BreadCrumbItemDTO() { Order = 1, Link = string.Format("Default.aspx?id={0}", parent.ID), Label = parent.Name, }; currentList.Add(p); } BreadCrumbItemDTO final = new BreadCrumbItemDTO() { Order = 2, Label = currentDTO.Name, CssClass = "breadcrumb-active", }; currentList.Add(final); return currentList; }
public static List<BreadCrumbItemDTO> BuildBreadcrumbContent(EntityDTO currentDTO) { data = new EntityData(); BreadCrumbItemDTO home = new BreadCrumbItemDTO() { Order = 0, Label = "Home", Link = "Default.aspx", }; List<BreadCrumbItemDTO> breadcrumbs = new List<BreadCrumbItemDTO>(); breadcrumbs.Add(home); if (currentDTO != null) { switch (currentDTO.Type) { //Don't show any Breadcrumb on the home page //because it doesn't make any sense case 104: return breadcrumbs; case 142: //if the entity has parent, find it then put it before the selected entity breadcrumbs = CreateBreadcrumbWithSecondLevel(currentDTO, breadcrumbs); break; default: //Home > current selected BreadCrumbItemDTO defaultItem = new BreadCrumbItemDTO() { Order = 1, Label = currentDTO.Name, CssClass = "breadcrumb-active", }; breadcrumbs.Add(defaultItem); break; } } return breadcrumbs.OrderBy(c => c.Order).ToList(); }