Пример #1
0
        //public static List<CustomHtmlLink> GenerateCrumbLinks(string Url)
        //{
        //    List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();
        //    return linkList;
        //}
        public static List<CustomHtmlLink> GenerateCrumbLinks(DIYFE.EF.Category cat, string linkPrefix)
        {
            List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();
            //Category cat = AppStatic.Categories
            //                    .Where(c => c.CategoryRowId == categoryRowId)
            //                    .FirstOrDefault();
            CustomHtmlLink rootLink = new CustomHtmlLink();
            rootLink.LinkText = System.Globalization.CultureInfo.CurrentUICulture.TextInfo.ToTitleCase(linkPrefix) + "s";
            rootLink.Href = AppStatic.BaseSiteUrl + linkPrefix + "/";
            rootLink.Title = "Base diyfe categor";
            linkList.Add(rootLink);

            if (cat != null)
            {
                if (!String.IsNullOrEmpty(cat.CategoryUrl))
                {
                    CustomHtmlLink link = new CustomHtmlLink();
                    link.LinkText = cat.CategoryName;
                    link.Href = AppStatic.BaseSiteUrl + linkPrefix + "/" + cat.CategoryUrl;
                    link.Title = cat.CategoryName;
                    linkList.Add(link);
                }
                if (!String.IsNullOrEmpty(cat.SecondLevCategoryUrl))
                {
                    CustomHtmlLink link = new CustomHtmlLink();
                    link.LinkText = cat.SecondLevCategoryName;
                    link.Href = "/" + linkPrefix + "/" + cat.CategoryUrl + "/" + cat.SecondLevCategoryUrl;
                    link.Title = cat.SecondLevCategoryName;
                    linkList.Add(link);
                }
                if (!String.IsNullOrEmpty(cat.ThirdLevCategoryUrl))
                {
                    CustomHtmlLink link = new CustomHtmlLink();
                    link.LinkText = cat.ThirdLevCategoryName;
                    link.Href = "/" + linkPrefix + "/" + cat.CategoryUrl + "/" + cat.SecondLevCategoryUrl + "/" + cat.ThirdLevCategoryUrl;
                    link.Title = cat.ThirdLevCategoryName;
                    linkList.Add(link);
                }
            }
            else
            {
                throw (new Exception("Generate Crumb Links - - -  Unable to find correct category."));
            }

            return linkList;
        }
Пример #2
0
        public static List<CustomHtmlLink> GenerateTreeViewSecondLev(Category cat, string linkPrefix)
        {
            List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();

            List<Category> secondLevCats = AppStatic.Categories
                                                .Where(c => c.CategoryId == cat.CategoryId
                                                && c.SecondLevCategoryId > 0
                                                && c.ThirdLevCategoryId == 0)
                                                .ToList();

            foreach (Category _secondLevCat in secondLevCats)
            {
                CustomHtmlLink newCat = new CustomHtmlLink
                        {
                            LinkText = _secondLevCat.SecondLevCategoryName,
                            Href = AppStatic.BaseSiteUrl + linkPrefix + "/" + _secondLevCat.CategoryUrl + "/" + _secondLevCat.SecondLevCategoryUrl,
                            Title = _secondLevCat.SecondLevCategoryName,
                            SubLinks = GenerateTreeViewThirdLev(_secondLevCat, linkPrefix)
                        };
                newCat.SubLinks.AddRange(RelatedArticleLinks(_secondLevCat, AppStatic.BaseSiteUrl + linkPrefix, 2));

                linkList.Add(newCat);

            }

            return linkList;
        }
Пример #3
0
        public static List<CustomHtmlLink> RelatedArticleLinks(Category cat, string linkPrefix, int categoryLevel)
        {
            List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();
            List<Article> articles = new List<Article>();
            using (var db = new DIYFE.EF.DIYFEEntities())
            {
                switch (categoryLevel)
                {
                    case 1:
                        articles = db.Articles.Where(a => a.Category.CategoryId == cat.CategoryId
                            && a.Category.SecondLevCategoryId == 0
                            && a.Category.ThirdLevCategoryId == 0
                            ).ToList();
                        // whereSql = "WHERE CategoryId = " + cat.CategoryId;
                        break;
                    case 2:
                        articles = db.Articles.Where(a => a.Category.SecondLevCategoryId == cat.SecondLevCategoryId
                            && a.Category.ThirdLevCategoryId == 0
                            ).ToList();
                        //whereSql = "WHERE SecondLevCategoryId = " + cat.SecondLevCategoryId + " AND CategoryId= " + cat.CategoryId + " AND ThirdLevCategoryId = 0";
                        break;
                    case 3:
                        articles = db.Articles.Where(a => a.Category.ThirdLevCategoryId == cat.ThirdLevCategoryId).ToList();
                        // whereSql = "WHERE ThirdLevCategoryId = " + cat.ThirdLevCategoryId;
                        break;
                    case 4:
                        articles = db.Articles.Where(a => a.Category.CategoryId == cat.CategoryId).ToList();
                        //whereSql = "WHERE CategoryId = " + cat.CategoryId;
                        break;
                    default:
                        break;
                }
            }

            foreach (Article a in articles)
            {

                string articleType = "";
                switch (a.ArticleTypeId)
                {
                    case 1:
                        articleType = "post/";
                        break;
                    case 2:
                        articleType = "project/";
                        break;
                    case 3:
                        articleType = "blog/";
                        break;
                    case 4:
                        articleType = "news/";
                        break;
                    default:
                        articleType = "home/";
                        break;
                }

                string ahref = AppStatic.BaseSiteUrl + articleType + cat.CategoryUrl + "/";
                //MvcHtmlString ahref = new MvcHtmlString("<a href=\"" + AppStatic.BaseSiteUrl + article.Category.CategoryUrl + "/");
                if (!String.IsNullOrEmpty(cat.SecondLevCategoryUrl))
                {
                    ahref += cat.SecondLevCategoryUrl + "/";
                }
                if (!String.IsNullOrEmpty(cat.ThirdLevCategoryUrl))
                {
                    ahref += cat.ThirdLevCategoryUrl + "/";
                }
                ahref += a.URLLink;

                CustomHtmlLink htmlLink = new CustomHtmlLink
                {
                    LinkText = a.Name,
                    Href = ahref,
                    Title = a.Title
                };
                linkList.Add(htmlLink);
            }

            return linkList;
        }
Пример #4
0
        //public static List<CustomHtmlLink> GenerateTreeViewFirstLev(int categoryRowId, string linkPrefix)
        //{
        //    List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();
        //    ListAccess la = new ListAccess();
        //    Category cat = AppStatic.Categories
        //                        .Where(c => c.CategoryRowId == categoryRowId)
        //                        .FirstOrDefault();
        //    if (!String.IsNullOrEmpty(cat.ThirdLevCategoryUrl))
        //    {
        //        CustomHtmlLink htmlLink = new CustomHtmlLink
        //        {
        //            LinkText = cat.ThirdLevCategoryName,
        //            Href = "/" + linkPrefix + "/" + cat.CategoryUrl + "/" + cat.SecondLevCategoryUrl + "/" + cat.ThirdLevCategoryUrl,
        //            Title = cat.ThirdLevCategoryName,
        //            SubLinks = la.RelatedArticleLinks(cat, linkPrefix, 3)
        //        };
        //        //linkList[0].SubLinks=la.RelatedArticleLinks(cat, linkPrefix, 3);
        //        List<Category> secondLevelCats = AppStatic.Categories
        //                                        .Where(c => c.SecondLevCategoryId == cat.SecondLevCategoryId
        //                                        && c.CategoryRowId != categoryRowId).ToList();
        //        foreach (Category _cat in secondLevelCats)
        //        {
        //            //linkList.Add(new CustomHtmlLink
        //            //{
        //            //    LinkText = _cat.SecondLevCategoryName,
        //            //    Href = "/" + linkPrefix + "/" + _cat.CategoryUrl + "/" + _cat.SecondLevCategoryUrl,
        //            //    Title = _cat.SecondLevCategoryName + "-category",
        //            //});
        //            //(!String.IsNullOrEmpty(_cat.ThirdLevCategoryUrl))
        //            //{
        //            //}
        //            //linkList.Last().SubLinks = la.RelatedArticleLinks(_cat, linkPrefix);
        //        }
        //        return linkList;
        //    }
        //    if (!String.IsNullOrEmpty(cat.SecondLevCategoryUrl))
        //    {
        //        List<Category> secondLevelCats = AppStatic.Categories
        //                                        .Where(c => c.CategoryId == cat.CategoryId).ToList();
        //        foreach (Category _cat in secondLevelCats)
        //        {
        //            linkList.Add(new CustomHtmlLink
        //            {
        //                LinkText = _cat.CategoryName,
        //                Href = "/" + linkPrefix + "/" + _cat.CategoryUrl,
        //                Title = _cat.CategoryName
        //            });
        //            if (!String.IsNullOrEmpty(_cat.ThirdLevCategoryUrl))
        //            {
        //                linkList.Last().SubLinks = GenerateRelatedTreeView(_cat.CategoryRowId, linkPrefix);
        //            }
        //            else
        //            {
        //                linkList.Last().SubLinks = la.RelatedArticleLinks(_cat, linkPrefix, 3);
        //            }
        //        }
        //        return linkList;
        //    }
        //    //ListAccess la = new ListAccess();
        //    //linkList = la.RelatedLinks(cat, linkPrefix);
        //    return linkList;
        //}
        public static List<CustomHtmlLink> GenerateTreeViewThirdLev(Category cat, string linkPrefix)
        {
            List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();
            //ListAccess la = new ListAccess();

            List<Category> thirdLevCats = AppStatic.Categories
                                                .Where(c => c.SecondLevCategoryId == cat.SecondLevCategoryId
                                                && c.ThirdLevCategoryId > 0)
                                                .ToList();
            //List<Category> thirdLevelCats = AppStatic.Categories
            //                                    .Where(c => c.SecondLevCategoryId == cat.SecondLevCategoryId
            //                                     && !String.IsNullOrEmpty(c.ThirdLevCategoryName))
            //                                    .ToList();

            foreach (Category _thirdLevCat in thirdLevCats)
            {
                CustomHtmlLink newCat = new CustomHtmlLink
                        {
                            LinkText = _thirdLevCat.ThirdLevCategoryName,
                            Href = AppStatic.BaseSiteUrl + linkPrefix + "/" + _thirdLevCat.CategoryUrl + "/" + _thirdLevCat.SecondLevCategoryUrl + "/" + _thirdLevCat.ThirdLevCategoryUrl,
                            Title = _thirdLevCat.ThirdLevCategoryName,
                            SubLinks = RelatedArticleLinks(_thirdLevCat, AppStatic.BaseSiteUrl + linkPrefix, 3)
                        };
                newCat.SubLinks.AddRange(RelatedArticleLinks(_thirdLevCat, AppStatic.BaseSiteUrl + linkPrefix, 2));

                linkList.Add(newCat);
                //newCat.SubLinks.AddRange(GenerateTreeViewThirdLev(_secondLevCat.SecondLevCategoryId, linkPrefix));
            }

            return linkList;
        }
Пример #5
0
        public static List<CustomHtmlLink> GenerateCrumbLinks(DIYFE.EF.Category cat, string linkPrefix)
        {
            List<CustomHtmlLink> linkList = new List<CustomHtmlLink>();
            //Category cat = AppStatic.Categories
            //                    .Where(c => c.CategoryRowId == categoryRowId)
            //                    .FirstOrDefault();
            CustomHtmlLink rootLink = new CustomHtmlLink();
            rootLink.LinkText = System.Globalization.CultureInfo.CurrentUICulture.TextInfo.ToTitleCase(linkPrefix) + "s";
            rootLink.Href = StaticConfig.BaseSiteUrl + linkPrefix + "/";
            rootLink.Title = linkPrefix;
            linkList.Add(rootLink);

            if (cat != null)
            {
                if (!String.IsNullOrEmpty(cat.CategoryUrl))
                {
                    CustomHtmlLink link = new CustomHtmlLink();
                    link.LinkText = cat.CategoryName;
                    link.Href = StaticConfig.BaseSiteUrl + linkPrefix + "/" + cat.CategoryUrl;
                    link.Title = cat.CategoryName;
                    linkList.Add(link);
                }
                if (!String.IsNullOrEmpty(cat.SecondLevCategoryUrl))
                {
                    CustomHtmlLink link = new CustomHtmlLink();
                    link.LinkText = cat.SecondLevCategoryName;
                    link.Href = "/" + linkPrefix + "/" + cat.CategoryUrl + "/" + cat.SecondLevCategoryUrl;
                    link.Title = cat.SecondLevCategoryName;
                    linkList.Add(link);
                }
                if (!String.IsNullOrEmpty(cat.ThirdLevCategoryUrl))
                {
                    CustomHtmlLink link = new CustomHtmlLink();
                    link.LinkText = cat.ThirdLevCategoryName;
                    link.Href = "/" + linkPrefix + "/" + cat.CategoryUrl + "/" + cat.SecondLevCategoryUrl + "/" + cat.ThirdLevCategoryUrl;
                    link.Title = cat.ThirdLevCategoryName;
                    linkList.Add(link);
                }
            }

            //CustomHtmlLink link2 = new CustomHtmlLink();
            //link2.LinkText = "Bread Crumb Links";
            //link2.Href = "/" + linkPrefix;
            //linkList.Add(link2);

            return linkList;
        }