Beispiel #1
0
        public async Task<ActionResult> Create(PostPageViewModel model)
        {
            if (ModelState.IsValid)
            {
                var page = postRepository.Create(new Post
                {
                    Title=model.Title,
                    Content = model.Content,
                    Excerpt = "",
                    RouteName = postRepository.FindById(model.Parent).RouteName,
                    Author = int.Parse(User.Identity.GetUserId()),
                    PostType = "page",
                    MimeType = "",
                    Status = (byte)1,
                    Parent = model.Parent,
                    Created = DateTime.Now,
                    Modified = DateTime.Now
                });
                await uow.SaveAsync();
                return RedirectToAction("Index");
            }
            ModelState.AddModelError("", "操作失败。");

            var pages = await postRepository.Get(p => p.PostType == "page" && p.Parent == 0 && p.Status == 1 && p.RouteName != "Index").ToListAsync();
            ViewData["SelectParent"] = new SelectList(pages, "Id", "Title");

            return View();
        }
Beispiel #2
0
        public async Task<ActionResult> Edit(PostPageViewModel model, FormCollection fc)
        {
            if (ModelState.IsValid)
            {
                var page = postRepository.FindById(model.Id);
                if (page == null)
                {
                    return HttpNotFound();
                }

                page.Title = model.Title;
                page.Content = fc["Content"];
                if (model.Parent > 0)
                {
                    page.RouteName = postRepository.FindById(model.Parent).RouteName;
                }
                page.Parent = model.Parent;
                page.Modified = DateTime.Now;
                postRepository.Update(page);

                await uow.SaveAsync();
                return RedirectToAction("Index");
            }
            ModelState.AddModelError("", "操作失败。");

            var pages = await postRepository.Get(p => p.PostType == "page" && p.Parent == 0 && p.Status == 1 && p.RouteName != "Index" && p.Id != model.Id).ToListAsync();
            pages.Insert(0, new Post { Id = 0, Title = "无" });
            var selectList = new SelectList(pages, "Id", "Title", model.Parent);
            ViewData["SelectParent"] = selectList;
            return View();
        }