public IActionResult SavePage(SitePage page) { //ignore move for now... if (Request.Form.ContainsKey("OldUrl") && (string)Request.Form["OldUrl"] != page.Url) { string message = $"Moving pages not allowed yet, tried to move {Request.Form["OldUrl"]} to new location: {page.Url}"; _webSite.Logger?.LogError(message); return(new JsonResult(new { result = false, message = message })); } //keep sections only change page properties SitePage oldPage = _webSite.Pages.FirstOrDefault(p => p.Url == page.Url); if (oldPage != null) { page.Sections = oldPage.Sections; } else { //new page page.Created = DateTime.Now; page.Sections = _webSite.GetDefaultContentForTemplate(page.Template); } _webSite.SaveSitePage(page); return(new JsonResult(new { result = true, url = _webSite.GetPageUrl(page) })); }