//GetCategoriesTreeByEvent public string GetCategoriesTreeByEvent(long?event_id) { if (!event_id.HasValue) { EventRepository er = new EventRepository(dataContext, CacheRepository); event_id = er.GetCurrent().ID; } List <IGrouping <int, spCategory_View_CategoriesForEventResult> > rootCategories = dataContext.spCategory_View_CategoriesForEvent(event_id, null, false).GroupBy(Q => Q.MainCategory_ID).ToList(); if (rootCategories.Count() == 0) { return(String.Empty); } StringBuilder sb = new StringBuilder(); sb.AppendLine("<ol class='category_list_main'><li class='category_list_header_container'><div class='category_list_header'>" + rootCategories[0].FirstOrDefault().EventTitle + "</div></li>"); spCategory_View_CategoriesForEventResult item; List <spCategory_View_CategoriesForEventResult> list; foreach (IGrouping <int, spCategory_View_CategoriesForEventResult> category in rootCategories) { item = category.FirstOrDefault(); sb.AppendFormat("<li><div class='category_list_head' id='dv{0}'><img id='imgCollapse' src='{2}' /><img id='imgExpand' src='{3}' style='display:none' /> {1}</div>", item.MainCategory_ID, item.MainCategoryTitle, AppHelper.CompressImage("arrow_collapse.png"), AppHelper.CompressImage("arrow_expand.png")); list = category.ToList(); sb.AppendLine("<div class='category_list_body'><ul>"); foreach (spCategory_View_CategoriesForEventResult ec in list) { sb.AppendLine("<li>"); sb.AppendFormat("<a href='/Auction/CategoryView/{0}/{1}/{2}/{3}'>{4}</a> <font>[{5}]</font>", ec.EventCategory_ID, UrlParser.TitleToUrl(ec.EventTitle), UrlParser.TitleToUrl(ec.MainCategoryTitle), UrlParser.TitleToUrl(ec.CategoryTitle), ec.CategoryTitle, ec.AuctionCount); sb.AppendLine("</li>"); } sb.AppendLine("</ul></div>"); sb.AppendLine("</li>"); } sb.AppendLine("<li class='category_list_footer'> </li>"); sb.AppendLine("</ol>"); return(sb.ToString()); }