public ActionResult EditPage(EditPageViewModel model) { if (!this.ModelState.IsValid) { return(View(model)); } var pages = _service.GetNavigation(); var page = model.Inserting() ? new PageNavigation { ParentId = model.ParentId } : pages.Single(p => p.Id == model.NavigationModel.Page.PageNavigation.Id); model.Page.PageNavigation.TransferTo(page); if (model.Inserting()) { page.Id = pages.Max(p => p.Id) + 1; pages.Add(page); } _service.SaveNavigation(pages); Message("Page Saved"); return(RedirectToAction("Index", new { id = page.Id })); }
public ActionResult EditPage(int?pageId, int?parentId) { var id = pageId.HasValue ? pageId.Value : parentId.Value; var page = _service.GetPage(id); var model = new EditPageViewModel { ParentId = parentId, PageId = pageId, NavigationModel = HomeIndexViewModelLoader.Create(id, _service) }; model.Page = model.Inserting() ? new Page { PageNavigation = new PageNavigation { ParentId = parentId } } : page; return(View(model)); }