public async Task <ActionResult> CreatePage() { string pageName = "New Page"; // Create the new page DataAccess.Models.Page page = new DataAccess.Models.Page { Name = pageName, UrlId = Guid.NewGuid().ToString("N").Substring(0, 10).ToUpper(), UrlName = GetUrlName(pageName), Content = "" }; // Add and save unitOfWork.Pages.Add(page); await unitOfWork.Save(); // Update the content with the new Id and update page.Content = "{\"id\":" + page.Id + ",\"name\":\"" + pageName + "\",\"background\":{\"color\":\"#00000000\"}}"; unitOfWork.Pages.Update(page); await unitOfWork.Save(); // Return the new page content return(Ok(page.Content)); }
public async Task <ActionResult> DuplicatePage(int pageId) { // Get the page DataAccess.Models.Page page = await unitOfWork.Pages.Get(pageId); page.Id = 0; page.Name = "New Page"; var pageContent = await pageService.GePage(page.Content, new QueryParams()); // Add the duplicated page and save unitOfWork.Pages.Add(page); await unitOfWork.Save(); // Update the content page.Content = Regex.Replace(page.Content, "^{\"id\":" + pageId, "{\"id\":" + page.Id); page.Content = Regex.Replace(page.Content, "\"referenceItems\":\\[[\\w\\d\\s\\W\\D\\S]*\\](?=,\"background\")", "\"referenceItems\": null"); page.Content = Regex.Replace(page.Content, "\"name\":\"" + pageContent.Name + "\"", "\"name\":\"" + page.Name + "\""); pageContent.Name = page.Name; pageContent.ReferenceItems = null; pageContent.Id = page.Id; unitOfWork.Pages.Update(page); await unitOfWork.Save(); // Return the page content return(Ok(pageContent)); }
public async Task <ActionResult> DeletePage(int pageId) { DataAccess.Models.Page page = await unitOfWork.Pages.Get(pageId); unitOfWork.Pages.Remove(page); await unitOfWork.Save(); return(Ok()); }
public async Task <ActionResult> UpdatePage(UpdatedPage updatedPage) { DataAccess.Models.Page page = await unitOfWork.Pages.Get(updatedPage.PageId); page.Name = updatedPage.Name; page.UrlName = GetUrlName(updatedPage.Name); page.DisplayType = (int)updatedPage.DisplayType; page.Content = updatedPage.Content; // Update and save unitOfWork.Pages.Update(page); await unitOfWork.Save(); return(Ok()); }