Ejemplo n.º 1
0
        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
            }));
        }
Ejemplo n.º 2
0
        public void Delete(AmpPageDeleteRequest request)
        {
            var     ampManager = AMPManager.GetManager();
            AmpPage ampPage    = ampManager.GetAmpPage(request.Id);

            ampManager.DeleteAmpPage(ampPage);

            ampManager.SaveChanges();
        }
Ejemplo n.º 3
0
        /// <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");
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }