Esempio n. 1
0
        public static List <InfoCategoryViewModel> GetCategory(IUrlHelper Url, string culture, SWCmsConstants.CatePosition position, string activePath = "")
        {
            var getTopCates = InfoCategoryViewModel.Repository.GetModelListBy
                                  (c => c.Specificulture == culture && c.SiocCategoryPosition.Count(
                                      p => p.PositionId == (int)position) > 0
                                  );
            var cates = getTopCates.Data ?? new List <InfoCategoryViewModel>();

            foreach (var cate in cates)
            {
                switch (cate.Type)
                {
                case SWCmsConstants.CateType.Blank:
                    foreach (var child in cate.Childs)
                    {
                        child.Href = Url.RouteUrl("Page", new { culture, seoName = child.SeoName });
                    }
                    break;

                case SWCmsConstants.CateType.StaticUrl:
                    cate.Href = cate.StaticUrl;
                    break;

                case SWCmsConstants.CateType.Home:
                //cate.Href = string.Format("/{0}", culture);
                //break;
                case SWCmsConstants.CateType.List:
                case SWCmsConstants.CateType.Article:
                case SWCmsConstants.CateType.Modules:
                default:
                    cate.Href = Url.RouteUrl("Page", new { culture, seoName = cate.SeoName });
                    break;
                }
                cate.IsActived = (cate.Href == activePath || (cate.Type == SWCmsConstants.CateType.Home && activePath == string.Format("/{0}/Home", culture)));
            }
            return(cates);
        }
Esempio n. 2
0
        public static List <InfoCategoryViewModel> GetCategoryByAlias(IUrlHelper Url, string culture, SWCmsConstants.CatePosition position, string activePath = "")
        {
            var getTopCates = InfoCategoryViewModel.Repository.GetModelListBy
                                  (c => c.Specificulture == culture && c.SiocCategoryPosition.Any(
                                      p => p.PositionId == (int)position)
                                  );
            var cates = getTopCates.Data ?? new List <InfoCategoryViewModel>();

            activePath = activePath.ToLower();
            foreach (var cate in cates)
            {
                switch (cate.Type)
                {
                case SWCmsConstants.CateType.Blank:
                    foreach (var child in cate.Childs)
                    {
                        child.DetailsUrl = Url.RouteUrl("Page", new { culture, seoName = child.SeoName });
                    }
                    break;

                case SWCmsConstants.CateType.StaticUrl:
                    cate.DetailsUrl = cate.StaticUrl;
                    break;

                case SWCmsConstants.CateType.Home:
                case SWCmsConstants.CateType.List:
                case SWCmsConstants.CateType.Article:
                case SWCmsConstants.CateType.Modules:
                default:
                    cate.DetailsUrl = Url.RouteUrl("Page", new { culture, seoName = cate.SeoName });
                    break;
                }
                cate.IsActived = (cate.UrlAlias.Alias == activePath ||
                                  (cate.Type == SWCmsConstants.CateType.Home && activePath == string.Empty));
                cate.Childs.ForEach((Action <InfoCategoryViewModel>)(c =>
                {
                    c.IsActived = (
                        c.UrlAlias.Alias == activePath);
                    cate.IsActived = cate.IsActived || c.IsActived;
                }));
            }
            return(cates);
        }