예제 #1
0
        public IActionResult ManageBlog(int id)
        {
            if (HttpContext.Session.GetInt32("userId") == null)
            {
                return(RedirectToAction("Login", "Manage"));
            }

            Data.Models.Blog blogModel = new Data.Models.Blog();
            if (id != 0)
            {
                blogModel = _blogContext.Blogs.Find(id);
            }
            ViewBag.BlogId = id;

            List <Category> categories  = _blogContext.Categories.ToList();
            var             resultTuple = new Tuple <int, List <Category>, Data.Models.Blog>(id, categories, blogModel);

            return(View(resultTuple));
        }
        public IActionResult ManageBlogAction([FromBody] ManageBlogActionDto manageBlogActionDto)
        {
            if (HttpContext.Session.GetInt32("userId") == null)
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("bad boy"));
            }

            Data.Models.Blog blog;

            if (manageBlogActionDto.Id != 0)
            {
                blog = _blogContext.Blogs.Find(manageBlogActionDto.Id);

                blog.Title      = manageBlogActionDto.Title;
                blog.Content    = manageBlogActionDto.Content;
                blog.CategoryId = manageBlogActionDto.CategoryId;
                _blogContext.Blogs.Update(blog);
            }
            else
            {
                blog = new Data.Models.Blog()
                {
                    CategoryId = manageBlogActionDto.CategoryId,
                    CreateDate = DateTime.UtcNow,
                    Content    = manageBlogActionDto.Content,
                    Title      = manageBlogActionDto.Title,
                    Hit        = 0,
                    Deleted    = false,
                    UserId     = HttpContext.Session.GetInt32("userId").Value
                };
                _blogContext.Blogs.Add(blog);
            }

            _blogContext.SaveChanges();

            return(new JsonResult(blog));
        }