Example #1
0
 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);
 }
Example #2
0
 /// <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);
 }
Example #5
0
 /// <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());
 }
Example #6
0
 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();
 }