/// <summary>
 /// 根据栏目ID和分页数获取栏目网络连接
 /// </summary>
 /// <param name="categoryId"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public string GetCategoryHtmlUrl(int categoryId, int page)
 {
     using (var db = new Entities())
     {
         string sUrl         = string.Empty;
         var    category     = db.TG_Category.Find(categoryId);
         var    categoryList = db.TG_Category.ToList();
         if (category.CategoryId != 0)
         {
             sUrl = category.sEnName.ToLower();
             TG_Category parentCategory = null;
             do
             {
                 parentCategory = categoryList.FirstOrDefault(m => m.ID == category.CategoryId);
                 sUrl           = parentCategory.sEnName.ToLower() + "/" + sUrl;
             }while (parentCategory != null && parentCategory.CategoryId != 0);
             sUrl = string.Format("/{0}/{1}_{2}.html", sHtmlBasePath, sUrl, page);
         }
         else
         {
             sUrl = string.Format("/{0}/{1}_{2}.html", sHtmlBasePath, category.sEnName.ToLower(), page);
         }
         return(sUrl);
     }
 }
 /// <summary>
 /// 根据获取文章的链接
 /// </summary>
 /// <param name="articleId"></param>
 /// <returns></returns>
 public string GetArticleHtmlUrl(int articleId)
 {
     using (var db = new Entities())
     {
         string sUrl         = string.Empty;
         var    article      = db.TG_Article.Find(articleId);
         var    category     = db.TG_Category.Find(article.iCategoryId);
         var    categoryList = db.TG_Category.ToList();
         if (category.CategoryId != 0)
         {
             sUrl = category.sEnName.ToLower();
             TG_Category parentCategory = null;
             do
             {
                 parentCategory = categoryList.FirstOrDefault(m => m.ID == category.CategoryId);
                 sUrl           = parentCategory.sEnName.ToLower() + "/" + sUrl;
             }while (parentCategory != null && parentCategory.CategoryId != 0);
             sUrl = sHtmlBasePath + "/" + sUrl;
         }
         else
         {
             sUrl = string.Format("{0}/{1}", sHtmlBasePath, category.sEnName.ToLower());
         }
         sUrl = string.Format("/{0}/{1}.html", sUrl, articleId);
         return(sUrl);
     }
 }
示例#3
0
 public void Insert(TG_Category category)
 {
     if (mangae.db.TG_Category.Any(m => m.sName == category.sName || m.sEnName == category.sEnName))
     {//存在相同的栏目名称或栏目标识
         result.info = "存在相同的栏目名称或栏目标识";
         return;
     }
     mangae.Add <TG_Category>(category);
     result.success = mangae.SaveChange();
 }
示例#4
0
        public void Update(TG_Category category)
        {
            if (LoginStatus.iUserType == 0)
            {
                if (string.IsNullOrEmpty(LoginStatus.sCategoryIds) || LoginStatus.sCategoryIds.Contains(category.ID.ToString()) == false)
                {
                    result.info = "您没有权限操作";
                }
                else
                {
                    if (mangae.db.TG_Category.Where(m => m.ID != category.ID).Any(m => m.sName == category.sName || m.sEnName == category.sEnName))
                    {//存在相同的栏目名称或栏目标识
                        result.info = "存在相同的栏目名称或栏目标识";
                        return;
                    }
                    mangae.Edit <TG_Category>(category);
                    result.success = mangae.SaveChange();

                    if (category.bIsContentCategory == true)
                    {//内容栏目才重新生成页面
                     /**编辑栏目重新生成栏目页***/
                        var templet = mangae.db.TG_Templet.Where(m => m.ID == category.iTemplateId).SingleOrDefault();
                        if (templet != null)
                        {//模板存在
                            string templetHtmlString = RazorHelper.ParseString(templet.sTempletEnName, category);
                            string sHtmlPath         = FuncHelper.Instance.GetHtmlPath(category, mangae.db.TG_Category.ToList());
                            RazorHelper.MakeHtml(sHtmlPath, category.sEnName, templetHtmlString);
                        }
                    }
                }
            }
            else
            {
                if (mangae.db.TG_Category.Where(m => m.ID != category.ID).Any(m => m.sName == category.sName || m.sEnName == category.sEnName))
                {//存在相同的栏目名称或栏目标识
                    result.info = "存在相同的栏目名称或栏目标识";
                    return;
                }
                mangae.Edit <TG_Category>(category);
                result.success = mangae.SaveChange();

                if (category.bIsContentCategory == true)
                {//内容栏目才重新生成页面
                    /**编辑栏目重新生成栏目页***/
                    var templet = mangae.db.TG_Templet.Where(m => m.ID == category.iTemplateId).SingleOrDefault();
                    if (templet != null)
                    {//模板存在
                        string templetHtmlString = RazorHelper.ParseString(templet.sTempletEnName, category);
                        string sHtmlPath         = FuncHelper.Instance.GetHtmlPath(category, mangae.db.TG_Category.ToList());
                        RazorHelper.MakeHtml(sHtmlPath, category.sEnName, templetHtmlString);
                    }
                }
            }
        }
        /// <summary>
        /// 根据栏目获取栏目生成文件的路径
        /// </summary>
        /// <returns></returns>
        public string GetHtmlPath(TG_Category category, List <TG_Category> categoryList)
        {
            string sPath = string.Empty;

            if (category.CategoryId != 0)
            {//子级栏目
                TG_Category parentCategory = null;
                do
                {
                    parentCategory = categoryList.FirstOrDefault(m => m.ID == category.CategoryId);
                    sPath          = sPath + "\\" + parentCategory.sEnName.ToLower();
                }while (parentCategory != null && parentCategory.CategoryId != 0);
                sPath = sPath.TrimStart('\\');
            }
            return(sPath);
        }
        public void Update(TG_Category category)
        {
            if (mangae.db.TG_Category.Where(m => m.ID != category.ID).Any(m => m.sName == category.sName || m.sEnName == category.sEnName))
            {//存在相同的栏目名称或栏目标识
                result.info = "存在相同的栏目名称或栏目标识";
                return;
            }
            mangae.Edit <TG_Category>(category);
            result.success = mangae.SaveChange();

            /**编辑栏目重新生成栏目页***/
            var templet = mangae.db.TG_Templet.Where(m => m.ID == category.iTemplateId).SingleOrDefault();

            if (templet != null)
            {//模板存在
                string templetHtmlString = RazorHelper.ParseString(templet.sTempletEnName, category);
                string sHtmlPath         = FuncHelper.Instance.GetHtmlPath(category, mangae.db.TG_Category.ToList());
                RazorHelper.MakeHtml(sHtmlPath, category.sEnName, templetHtmlString);
            }
        }
 /// <summary>
 /// 获取栏目位置
 /// </summary>
 /// <param name="categoryId"></param>
 /// <returns></returns>
 public List <string> GetCategoryLocation(int categoryId)
 {
     using (var db = new Entities())
     {
         List <string> LocationArray = new List <string>();
         string        sUrl          = string.Empty;
         var           category      = db.TG_Category.Find(categoryId);
         var           categoryList  = db.TG_Category.ToList();
         if (category.CategoryId != 0)
         {
             TG_Category parentCategory = null;
             do
             {
                 parentCategory = categoryList.FirstOrDefault(m => m.ID == category.CategoryId);
                 LocationArray.Add(parentCategory.sName);
             }while (parentCategory != null && parentCategory.CategoryId != 0);
         }
         LocationArray.Add(category.sName);
         return(LocationArray);
     }
 }
示例#8
0
        /// <summary>
        /// 递归调用
        /// </summary>
        /// <returns></returns>
        public JArray recursion(TG_Category category, List <TG_Category> list, int type = 0)
        {
            JArray mainArray = new JArray();

            if (type == 1)
            {
                foreach (var n in list)
                {
                    if (category.ID == n.CategoryId)
                    {
                        JObject childData = JsonHelper.Object(JsonHelper.toJson(n));
                        //函数递归调用
                        var array = recursion(n, list, 1);
                        childData.Add(new JProperty("children", array));
                        mainArray.Add(childData);
                    }
                }
            }
            else
            {
                foreach (var n in list)
                {
                    if (category.ID == n.CategoryId)
                    {
                        JObject childData = new JObject();
                        childData.Add(new JProperty("id", n.ID));
                        childData.Add(new JProperty("text", n.sName));
                        //函数递归调用
                        var array = recursion(n, list);
                        childData.Add(new JProperty("children", array));
                        mainArray.Add(childData);
                    }
                }
            }
            return(mainArray);
        }