コード例 #1
0
        private MozaicEditorComponent convertAjaxComponentToDbFormat(AjaxMozaicEditorComponent ajaxComponent,
                                                                     MozaicEditorPage page, MozaicEditorComponent parentComponent)
        {
            var newComponent = new MozaicEditorComponent
            {
                Name             = ajaxComponent.Name,
                Type             = ajaxComponent.Type,
                PositionX        = ajaxComponent.PositionX,
                PositionY        = ajaxComponent.PositionY,
                Width            = ajaxComponent.Width,
                Height           = ajaxComponent.Height,
                Tag              = ajaxComponent.Tag,
                Attributes       = ajaxComponent.Attributes,
                Classes          = ajaxComponent.Classes,
                Styles           = ajaxComponent.Styles,
                Content          = ajaxComponent.Content,
                Label            = ajaxComponent.Label,
                Placeholder      = ajaxComponent.Placeholder,
                TabIndex         = ajaxComponent.TabIndex,
                Properties       = ajaxComponent.Properties,
                MozaicEditorPage = page
            };

            if (ajaxComponent.ChildComponents != null && ajaxComponent.ChildComponents.Count > 0)
            {
                newComponent.ChildComponents = new List <MozaicEditorComponent>();
                foreach (var ajaxChildComponent in ajaxComponent.ChildComponents)
                {
                    newComponent.ChildComponents.Add(convertAjaxComponentToDbFormat(ajaxChildComponent, page, newComponent));
                }
            }
            return(newComponent);
        }
コード例 #2
0
        public AjaxMozaicEditorPage GetPage(int appId, int pageId)
        {
            try
            {
                var context       = COREobject.i.Context;
                var requestedPage = context.MozaicEditorPages.Find(pageId);

                // TODO: replace with real error checking
                if (requestedPage == null)
                {
                    return(new AjaxMozaicEditorPage());
                }

                var result = new AjaxMozaicEditorPage
                {
                    Id          = requestedPage.Id,
                    Name        = requestedPage.Name ?? "Nepojmenovaná stránka",
                    IsModal     = requestedPage.IsModal,
                    ModalWidth  = requestedPage.ModalWidth,
                    ModalHeight = requestedPage.ModalHeight
                };
                foreach (var component in requestedPage.Components.Where(c => c.ParentComponent == null))
                {
                    var ajaxComponent = new AjaxMozaicEditorComponent
                    {
                        Id          = component.Id,
                        Name        = component.Name ?? "",
                        Type        = component.Type,
                        PositionX   = component.PositionX,
                        PositionY   = component.PositionY,
                        Width       = component.Width,
                        Height      = component.Height,
                        Tag         = component.Tag,
                        Attributes  = component.Attributes,
                        Classes     = component.Classes ?? "",
                        Styles      = component.Styles ?? "",
                        Content     = component.Content,
                        Label       = component.Label,
                        Placeholder = component.Placeholder,
                        TabIndex    = component.TabIndex,
                        Properties  = component.Properties ?? ""
                    };
                    if (component.ChildComponents.Count > 0)
                    {
                        ajaxComponent.ChildComponents = new List <AjaxMozaicEditorComponent>();
                        foreach (var childComponent in component.ChildComponents)
                        {
                            ajaxComponent.ChildComponents.Add(new AjaxMozaicEditorComponent
                            {
                                Id          = childComponent.Id,
                                Name        = childComponent.Name ?? "",
                                Type        = childComponent.Type,
                                PositionX   = childComponent.PositionX,
                                PositionY   = childComponent.PositionY,
                                Width       = childComponent.Width,
                                Height      = childComponent.Height,
                                Tag         = childComponent.Tag,
                                Attributes  = childComponent.Attributes,
                                Classes     = childComponent.Classes ?? "",
                                Styles      = childComponent.Styles ?? "",
                                Content     = childComponent.Content,
                                Label       = childComponent.Label,
                                Placeholder = childComponent.Placeholder,
                                TabIndex    = childComponent.TabIndex,
                                Properties  = childComponent.Properties
                            });
                        }
                    }
                    result.Components.Add(ajaxComponent);
                }

                // Renew deleted page
                if (requestedPage.IsDeleted)
                {
                    requestedPage.IsDeleted = false;
                    context.SaveChanges();
                }

                return(result);
            }
            catch (Exception ex)
            {
                var errorMessage = $"Mozaic editor: error loading page with id={pageId} (GET api/mozaic-editor/apps/{appId}/pages/{pageId}) " +
                                   $"Exception message: {ex.Message}";
                throw GetHttpInternalServerErrorResponseException(errorMessage);
            }
        }