public ActionResult Save(
            EditMode editMode, string id,
            string title, string body, PostListOrder postListOrder)
        {
            if (String.IsNullOrEmpty(title))
            {
                ModelState.AddModelError("title", "Title must not be empty.");
            }

            var postCategory = GetPostCategory(editMode, id);

            postCategory.Title         = title;
            postCategory.Body          = body;
            postCategory.PostListOrder = postListOrder;

            if (!ModelState.IsValid)
            {
                var editData = new EditPostCategoryData
                {
                    EditMode     = editMode,
                    PostCategory = postCategory
                };

                return(View("Edit", editData));
            }

            if (editMode == EditMode.Add)
            {
                _postCategoryRepository.Save(postCategory);
            }

            _postCategoryRepository.SubmitChanges();

            return(RedirectToAction("Detail", new { id = postCategory.ID }));
        }
        public ActionResult Edit(string id)
        {
            var editData = new EditPostCategoryData
            {
                EditMode     = EditMode.Edit,
                PostCategory = LoadPostCategory(id)
            };

            return(View("Edit", editData));
        }
        public ActionResult Add()
        {
            var editData = new EditPostCategoryData
            {
                EditMode     = EditMode.Add,
                PostCategory = _postCategoryRepository.Create()
            };

            return(View("Edit", editData));
        }