Exemplo n.º 1
0
        public async Task <IActionResult> Create(string blogname, [Bind("Id,Title,Published,content,Author,RowVersion,BlogId,engine,CategoriesToString")] ViewPost post)
        {
            //if (ModelState.IsValid)
            {
                post.Author = await PostManager.db.Users.FirstAsync(x => x.UserName == User.Identity.Name);

                var           mpost           = post.ToModel(User.Identity.Name);
                MarkUpManager markDownManager = new MarkUpManager();
                mpost.content = markDownManager.ConvertFromHtmlToMarkUp(post.content);

                var blog = await blmngr.GetBlogByIdAsync(mpost.BlogId);


                await postManager.Create(mpost, this.User.Identity.Name);

                if (post.CategoriesToString != null)
                {
                    var catgories = post.CategoriesToString.Split(",").ToList();
                    if (catgories != null)
                    {
                        await CategoryManager.AttachCategoryRangetoPost(catgories, blog.Name, mpost.Id);
                    }
                }
                if (post.TagsToString != null)
                {
                    var tags = post.TagsToString.Split(",").ToList();
                    if (tags != null)
                    {
                        await TagManager.AttachTagRangetoPost(tags, blog.Name, mpost.Id);
                    }
                }
                //blmngr.GetBlogAsync()
                return(RedirectToAction(nameof(Index), "Posts", new { id = blog.Name }));
            }
            // return View(post);
        }