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) }));
        }