예제 #1
0
 public ActionResult Create(ArticleModel itemArticle)
 {
     if (itemArticle != null)
     {
         if (!ModelState.IsValid)
         {
             return(PartialView("Create", itemArticle));
         }
         var blogname = itemArticle.BlogName;
         var username = itemArticle.Author;
         var itemBlog = _blogService.GetByNameAndUser(username, blogname);
         var item     = new BllArticleEntity
         {
             Name = itemArticle.Name,
             Text = itemArticle.Text,
             Date = itemArticle.Date,
             Blog = itemBlog
         };
         _articleService.Create(item);
         var article = _articleService.GetAll()
                       .Where(art => art.Blog != null)
                       .Where(art => art.Blog.User.Name == item.Blog.User.Name)
                       .FirstOrDefault(art => art.Name == item.Name);
         if (itemArticle.CurrentTag != null)
         {
             var listTags = GetListOfTags(itemArticle, article);
             _tagService.Create(listTags);
         }
         return(RedirectToAction("Main", "Blog"));
     }
     return(RedirectToAction("Articles"));
 }
예제 #2
0
        private StringBuilder GetStringOfTags(BllArticleEntity itemArticle)
        {
            var           tags = _tagService.GetAllForArticle(itemArticle.Id);
            StringBuilder sb   = new StringBuilder();

            foreach (var item in tags)
            {
                sb.AppendFormat("{0};", item.Name);
            }
            return(sb);
        }
예제 #3
0
 private List <BllTagEntity> GetListOfTags(ArticleModel itemArticle, BllArticleEntity item)
 {
     string[] substrings = Regex.Split(itemArticle.CurrentTag, ";");
     return((from match in substrings
             where match != string.Empty
             select new BllTagEntity
     {
         Name = match,
         Article = item
     }).ToList());
 }
예제 #4
0
        public bool Update(BllArticleEntity item)
        {
            var article = _articleRepository.GetById(item.Id);

            if (article == null)
            {
                return(false);
            }
            _articleRepository.Update(item.ToDal());
            _unitOfWork.Commit();
            return(true);
        }
예제 #5
0
        public static DalArticleEntity ToDal(this BllArticleEntity itemArticleEntity)
        {
            if (itemArticleEntity == null)
            {
                return(null);
            }

            return(new DalArticleEntity
            {
                Id = itemArticleEntity.Id,
                Name = itemArticleEntity.Name,
                Blog = itemArticleEntity.Blog.ToDal(),
                Date = itemArticleEntity.Date,
                Text = itemArticleEntity.Text
            });
        }
예제 #6
0
 public void Create(BllArticleEntity item)
 {
     _articleRepository.Create(item.ToDal());
     _unitOfWork.Commit();
 }