public ActionResult Index(string ampPageUrl, string itemUrl) { Guard.Requires(ampPageUrl, "ampPageUrl").IsNotNullOrEmpty(); Guard.Requires(itemUrl, "itemUrl").IsNotNullOrEmpty(); itemUrl = "/" + itemUrl; var ampPageData = AMPManager.GetManager().GetAmpPage(ampPageUrl); if (ampPageData == null) { return(this.HttpNotFound(string.Format("There is no AMP page with url: {0}", ampPageUrl))); } IDataItem dataItem = this.GetDataItem(ampPageData.ItemType, itemUrl); this.SetPageData(ampPageData, (ILocatable)dataItem); string layoutTemplatePath = GetLayoutTemplate(ampPageData.LayoutTemplatePath); string templatePath = GetTemplate(ampPageData.TemplatePath); var fields = JsonConvert.DeserializeObject <List <AmpPageFieldDto> >(ampPageData.FieldsListJson).OrderBy(x => x.Ordinal); return(View(templatePath, masterName: layoutTemplatePath, model: new AmpPageViewModel { DataItem = dataItem, Fields = fields })); }
public void Delete(AmpPageDeleteRequest request) { var ampManager = AMPManager.GetManager(); AmpPage ampPage = ampManager.GetAmpPage(request.Id); ampManager.DeleteAmpPage(ampPage); ampManager.SaveChanges(); }
/// <inheritdoc /> protected override void InitializeControls(GenericContainer container) { var page = this.Page; var urlParameters = page.GetUrlParameters(); if (urlParameters == null || urlParameters.Length == 0) { this.ReturnPageNotFoundResponse(page); return; } Guid ampPageId = Guid.Empty; bool hasAmpPageId = Guid.TryParse(urlParameters[0], out ampPageId); if (Guid.TryParse(urlParameters[0], out ampPageId)) { hasAmpPageId = true; var ampManager = AMPManager.GetManager(); var ampPageIds = ampManager.GetAmpPages().Select(p => p.Id); if (!ampPageIds.Contains(ampPageId)) { this.ReturnPageNotFoundResponse(page); return; } } if (urlParameters[0] != "Create" && !hasAmpPageId) { this.ReturnPageNotFoundResponse(page); return; } bool isCreateMode = false; if (!hasAmpPageId) { isCreateMode = true; } var currentNode = BackendSiteMap.FindSiteMapNode(AMPModule.AmpPagesGroupPageId, false); this.AmpGroupPageUrlHiddenField.Value = RouteHelper.ResolveUrl(currentNode != null ? currentNode.Url : "~/Sitefinity", UrlResolveOptions.Rooted | UrlResolveOptions.RemoveTrailingSlash); this.AmpPageIdHiddenField.Value = ampPageId.ToString(); this.IsCreateModeHiddenField.Value = isCreateMode.ToString(); this.AmpServiceUrlHiddenField.Value = VirtualPathUtility.ToAbsolute("~/RestApi/" + AmpServiceStackPlugin.AmpPagesRoute); this.AmpConfigServiceUrlHiddenField.Value = VirtualPathUtility.ToAbsolute("~/RestApi/" + AmpServiceStackPlugin.AmpConfigurationRoute); this.StaticModuleMetaDataServiceUrlHiddenField.Value = VirtualPathUtility.ToAbsolute("~/Sitefinity/Services/MetaData/ModuleEditor.svc"); }
public AmpPageDto Post(AmpPageUpdateRequest request) { var ampPageDto = new AmpPageDto(request); var ampManager = AMPManager.GetManager(); AmpPage ampPage = ampManager.GetAmpPage(ampPageDto.Id); ampPageDto.ToAmpPage(ampPage); ampManager.SaveChanges(); ampPageDto = new AmpPageDto(ampPage); return(ampPageDto); }
public AmpPageDto Put(AmpPageInsertRequest request) { var ampPageDto = new AmpPageDto(request); var ampManager = AMPManager.GetManager(); AmpPage ampPage = ampManager.CreateAmpPage(); ampPageDto.ToAmpPage(ampPage); ampManager.SaveChanges(); ampPageDto = new AmpPageDto(ampPage); return(ampPageDto); }
public IEnumerable <AmpPageDto> Get(AmpPagesGetRequest request) { var ampManager = AMPManager.GetManager(); IQueryable <AmpPage> ampPagesQuery = ampManager.GetAmpPages(); if (request.Id.HasValue) { ampPagesQuery = ampPagesQuery.Where(p => p.Id == request.Id); } var ampPageDtos = ampPagesQuery.Select(a => new AmpPageDto(a)); return(ampPageDtos); }