//public static List<ViewModels.MixPages.ReadListItemViewModel> GetPage(IUrlHelper Url, string culture, MixEnums.CatePosition position, string activePath = "") //{ // var getTopCates = ViewModels.MixPages.ReadListItemViewModel.Repository.GetModelListBy // (c => c.Specificulture == culture && c.MixPagePosition.Any( // p => p.PositionId == (int)position) // ); // var cates = getTopCates.Data ?? new List<ViewModels.MixPages.ReadListItemViewModel>(); // activePath = activePath.ToLower(); // foreach (var cate in cates) // { // switch (cate.Type) // { // case MixPageType.Home: // case MixPageType.ListPost: // default: // cate.DetailsUrl = Url.RouteUrl("Alias", new { culture, seoName = cate.SeoName }); // break; // } // cate.IsActived = (cate.DetailsUrl == activePath // || (cate.Type == MixPageType.Home && activePath == string.Format("/{0}/home", culture))); // cate.Childs.ForEach((Action<ViewModels.MixPagePages.ReadViewModel>)(c => // { // c.IsActived = ( // c.Page.DetailsUrl == activePath); // cate.IsActived = cate.IsActived || c.IsActived; // })); // } // return cates; //} public static List <ViewModels.MixPages.ReadListItemViewModel> GetCategory(IUrlHelper Url, string culture, MixPageType cateType, string activePath = "") { var getTopCates = ViewModels.MixPages.ReadListItemViewModel.Repository.GetModelListBy (c => c.Specificulture == culture && c.Type == cateType.ToString() ); var cates = getTopCates.Data ?? new List <ViewModels.MixPages.ReadListItemViewModel>(); activePath = activePath.ToLower(); foreach (var cate in cates) { switch (cate.Type) { case MixPageType.Home: case MixPageType.ListPost: default: cate.DetailsUrl = Url.RouteUrl("Alias", new { culture, seoName = cate.SeoName }); break; } cate.IsActived = ( cate.DetailsUrl == activePath || (cate.Type == MixPageType.Home && activePath == string.Format("/{0}/home", culture)) ); } return(cates); }
public static List <ViewModels.MixPages.ReadListItemViewModel> GetCategory(IUrlHelper Url, string culture, MixPageType cateType, string activePath = "") { var getTopCates = ViewModels.MixPages.ReadListItemViewModel.Repository.GetModelListBy (c => c.Specificulture == culture && c.Type == (int)cateType ); var cates = getTopCates.Data ?? new List <ViewModels.MixPages.ReadListItemViewModel>(); activePath = activePath.ToLower(); foreach (var cate in cates) { switch (cate.Type) { case MixPageType.Blank: foreach (var child in cate.Childs) { child.DetailsUrl = Url.RouteUrl("Page", new { culture, pageName = child.SeoName }); } break; case MixPageType.StaticUrl: cate.DetailsUrl = cate.StaticUrl; break; case MixPageType.Home: case MixPageType.ListArticle: case MixPageType.Article: case MixPageType.Modules: default: cate.DetailsUrl = Url.RouteUrl("Page", new { culture, pageName = cate.SeoName }); break; } cate.IsActived = ( cate.DetailsUrl == activePath || (cate.Type == MixPageType.Home && activePath == string.Format("/{0}/home", culture)) ); cate.Childs.ForEach((Action <ViewModels.MixPages.ReadListItemViewModel>)(c => { c.IsActived = ( c.DetailsUrl == activePath); cate.IsActived = cate.IsActived || c.IsActived; })); } return(cates); }