BrickPile.UI.Areas.UI.Controllers.PagesController.Update C# (CSharp) Method

Update() private method

private Update ( dynamic currentPage, FormCollection collection ) : ActionResult
currentPage dynamic
collection FormCollection
return ActionResult
        public virtual ActionResult Update(dynamic currentPage, FormCollection collection)
        {
            using (IDocumentSession session = this.documentStore.OpenSession())
            {
                if (!TryUpdateModel(currentPage, "CurrentModel", collection))
                {
                    var viewModel = new EditViewModel
                    {
                        RootModel = session.Advanced.GetStartPage(),
                        CurrentModel = currentPage,
                        ParentModel = session.Advanced.GetParentFor<IPage>((IPage) currentPage),
                    };

                    return View("edit", viewModel);
                }

                session.Store((IPage) currentPage,
                    currentPage.Metadata.IsPublished ? StoreAction.Publish : StoreAction.Save);
                session.SaveChanges();

                if (currentPage.Parent != null)
                {
                    currentPage = session.Advanced.GetParentFor<IPage>((IPage) currentPage);
                }

                return RedirectToAction("index", new {currentPage});
            }
        }