/// <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); } }
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(); }
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); } }
/// <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); }