/// <summary> /// News the specified new page model. /// </summary> /// <param name="newModel">The new model.</param> /// <returns></returns> public ActionResult New(NewModel newModel) { if (ModelState.IsValid) { var parent = _model as IPageModel; // create a new page from the selected page model var page = Activator.CreateInstance(Type.GetType(newModel.SelectedPageModel)) as dynamic; page.Metadata.Url = parent != null ? VirtualPathUtility.AppendTrailingSlash(parent.Metadata.Url) : String.Empty; page.Metadata.Published = DateTime.Now; var viewModel = new NewPageViewModel { RootModel = _session.Query<IPageModel>().SingleOrDefault(model => model.Parent == null), ParentModel = parent, NewPageModel = page, SlugsInUse = parent != null ? Newtonsoft.Json.JsonConvert.SerializeObject(_session.Load<IPageModel>(parent.Children).Select(x => x.Metadata.Slug)) : null }; ViewBag.Class = "edit"; return View("new", viewModel); //return PartialView("new", viewModel); } return PartialView("add", newModel); }
/// <summary> /// News the specified new page model. /// </summary> /// <param name="newModel">The new model.</param> /// <returns></returns> public ActionResult New(NewModel newModel) { if (ModelState.IsValid) { var parent = _model as IPageModel; // create a new page from the selected page model var page = Activator.CreateInstance(Type.GetType(newModel.SelectedPageModel)) as dynamic; page.Metadata.Url = parent != null ? VirtualPathUtility.AppendTrailingSlash(parent.Metadata.Url) : String.Empty; var viewModel = new NewPageViewModel { RootModel = _session.Query<IPageModel>().SingleOrDefault(model => model.Parent == null), CurrentModel = parent, NewPageModel = page, }; ViewBag.Class = "edit"; return View("new", viewModel); } return PartialView("add", newModel); }