public static MvcHtmlString GetCategoryString(this HtmlHelper Html, Article articel) { string str = ""; var list = articel.Categorys.Where(c => c.Type == CategoryType.Category).ToList(); for (int i = 0; i < list.Count; i++) { if (i < list.Count - 1) str += list[i].Name + ","; else str += list[i].Name; } return MvcHtmlString.Create(str); }
/// <summary> /// 阅读文章权限 /// </summary> /// <param name="article"></param> /// <returns></returns> public bool ReadArticelPower(Article article) { User user = _sessionManager.User; if (AdminPower()) { return true; } else if (article.Status == ArticleStatus.Open) { return true; } else if (user != null && user.UserId == article.Author.UserId && article.Status != ArticleStatus.Delete) { return true; } else { return false; } }
public JsonResult AjaxAdd(ArticleAjaxModel model) { bool success = false; string message = null; object data = null; try { if (ModelState.IsValid) { Article article = new Article() { Author = _userSrvice.GetLoginUser(), Content = model.Content, Title = model.Title, Status = ArticleStatus.Temp, CreateDate = DateTime.Now, Type = ArticleType.Blog, ModifyDate = DateTime.Now, Categorys = new List<Category>() }; if (model.Categorys != null) { foreach (int categoryId in model.Categorys) { Category cat = _categoryService.GetCategoryById(categoryId); if (cat == null) { throw new Exception("不存在该分类!"); } cat.Count++; _categoryService.UpdateCategory(cat); article.Categorys.Add(cat); } } if (model.Tags != null) { foreach (string tag in model.Tags) { Category category = _categoryService.FindTagByName(tag); if (category == null) { category = new Category() { Name = tag, Count = 1, Type = CategoryType.Tag }; _categoryService.AddCategory(category); } else { category.Count++; _categoryService.UpdateCategory(category); } article.Categorys.Add(category); } } data = _articleService.AddArticle(article); success = true; } else { foreach (var value in ModelState.Values) { foreach (var error in value.Errors) { message = error.ErrorMessage; break; } if (message != null) { break; } } } } catch (DomainException ex) { message = ex.Errors.First().Value; } catch (Exception ex) { message = ex.Message; } return Json(new { success = success, message = message, data = data }); }
public ActionResult Add() { Article article = new Article() { Author = _userSrvice.GetLoginUser(), Content = "", Title = "", Status = ArticleStatus.Temp, CreateDate = DateTime.Now, Type = ArticleType.Blog, ModifyDate = DateTime.Now }; IList<Category> lastTag = _categoryService.GetLastTag(); ViewBag.LastTag = lastTag; return View(article); }
/// <summary> /// 创建文章的分类选择 /// </summary> /// <param name="Html"></param> /// <param name="article"></param> /// <returns></returns> public static MvcHtmlString BulidArticleCategory(this HtmlHelper Html, Article article) { var list = DependencyResolver.Current.GetService<ICategoryService>().GetAllCategory().Where(c => c.Type == Domain.CategoryType.Category && c.Parent == null).ToList(); int level = 0; TagBuilder ul = new TagBuilder("ul"); ul.Attributes.Add("class", "categorychecklist form-no-clear"); ul.Attributes.Add("id", "categorychecklist"); ul.Attributes.Add("data-wp-lists", "list:category"); foreach (var cat in list) { TagBuilder li = new TagBuilder("li"); li.Attributes.Add("id", "category-" + cat.CategoryId); TagBuilder label = new TagBuilder("label"); label.AddCssClass("selectit"); TagBuilder input = new TagBuilder("input"); input.Attributes.Add("value", cat.CategoryId.ToString()); input.Attributes.Add("type", "checkbox"); input.Attributes.Add("name", "Category"); input.Attributes.Add("id", "in-category-" + cat.CategoryId); if (article.Categorys != null && article.Categorys.Count > 0 && article.Categorys.Where(c => c.CategoryId == cat.CategoryId).Count() > 0) { input.Attributes.Add("checked", "checked"); } label.InnerHtml = input.ToString() + cat.Name; li.InnerHtml = label.ToString(); if (cat.Children != null && cat.Children.Count > 0) { li.InnerHtml += BulidArticleChildrenCategory(cat.Children, level + 1, article); } ul.InnerHtml += li.ToString(); } return MvcHtmlString.Create(ul.ToString()); }
private static string BulidArticleChildrenCategory(IList<Category> categorys, int level, Article article) { TagBuilder ul = new TagBuilder("ul"); ul.AddCssClass("children"); foreach (var cat in categorys) { TagBuilder li = new TagBuilder("li"); li.Attributes.Add("id", "category-" + cat.CategoryId); TagBuilder label = new TagBuilder("label"); label.AddCssClass("selectit"); TagBuilder input = new TagBuilder("input"); input.Attributes.Add("value", cat.CategoryId.ToString()); input.Attributes.Add("type", "checkbox"); input.Attributes.Add("name", "Category"); input.Attributes.Add("id", "in-category-" + cat.CategoryId); if (article.Categorys != null && article.Categorys.Count > 0 && article.Categorys.Where(c => c.CategoryId == cat.CategoryId).Count() > 0) { input.Attributes.Add("checked", "checked"); } label.InnerHtml = input.ToString() + cat.Name; li.InnerHtml = label.ToString(); if (cat.Children != null && cat.Children.Count > 0) { li.InnerHtml += BulidArticleChildrenCategory(cat.Children, level + 1, article); } ul.InnerHtml += li.ToString(); } return ul.ToString(); }