コード例 #1
0
        public GetServerControlWidgetResponse Get(GetServerControlWidgetRequest request)
        {
            var model = repository
                .AsQueryable<Module.Pages.Models.ServerControlWidget>(widget => widget.Id == request.WidgetId)
                .Select(widget => new ServerControlWidgetModel
                    {
                        Id = widget.Id,
                        Version = widget.Version,
                        CreatedBy = widget.CreatedByUser,
                        CreatedOn = widget.CreatedOn,
                        LastModifiedBy = widget.ModifiedByUser,
                        LastModifiedOn = widget.ModifiedOn,

                        Name = widget.Name,
                        IsPublished = widget.Status == ContentStatus.Published,
                        PublishedOn = widget.Status == ContentStatus.Published ? widget.PublishedOn : null,
                        PublishedByUser = widget.Status == ContentStatus.Published ? widget.PublishedByUser : null,
                        CategoryId = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Id : (Guid?)null,
                        CategoryName = widget.Category != null && !widget.Category.IsDeleted ? widget.Category.Name : null,
                        WidgetUrl = widget.Url,
                        PreviewUrl = widget.PreviewUrl
                    })
                .FirstOne();

            var response = new GetServerControlWidgetResponse { Data = model };
            if (request.Data.IncludeOptions)
            {
                response.Options = WidgetOptionsHelper.GetWidgetOptionsList(repository, request.WidgetId);
            }

            return response;
        }
コード例 #2
0
        public static PostServerControlWidgetRequest ToPostRequest(this GetServerControlWidgetResponse response)
        {
            var model = MapServerControlWidgetModel(response);

            return(new PostServerControlWidgetRequest {
                Data = model
            });
        }
コード例 #3
0
        public static PutServerControlWidgetRequest ToPutRequest(this GetServerControlWidgetResponse response)
        {
            var model = MapServerControlWidgetModel(response);

            return(new PutServerControlWidgetRequest {
                Data = model, Id = response.Data.Id
            });
        }
コード例 #4
0
        public GetServerControlWidgetResponse Get(GetServerControlWidgetRequest request)
        {
            var model = repository
                .AsQueryable<Module.Pages.Models.ServerControlWidget>(widget => widget.Id == request.WidgetId)
                .Select(widget => new ServerControlWidgetModel
                    {
                        Id = widget.Id,
                        Version = widget.Version,
                        CreatedBy = widget.CreatedByUser,
                        CreatedOn = widget.CreatedOn,
                        LastModifiedBy = widget.ModifiedByUser,
                        LastModifiedOn = widget.ModifiedOn,

                        Name = widget.Name,
                        IsPublished = widget.Status == ContentStatus.Published,
                        PublishedOn = widget.Status == ContentStatus.Published ? widget.PublishedOn : null,
                        PublishedByUser = widget.Status == ContentStatus.Published ? widget.PublishedByUser : null,
                        WidgetUrl = widget.Url,
                        PreviewUrl = widget.PreviewUrl
                    })
                .FirstOne();

            var response = new GetServerControlWidgetResponse { Data = model };
            if (request.Data.IncludeOptions)
            {
                response.Options = WidgetOptionsHelper.GetWidgetOptionsList(repository, request.WidgetId);
            }

            if (request.Data.IncludeCategories)
            {
                response.Categories = (from pagePr in repository.AsQueryable<Module.Root.Models.Widget>()
                                       from category in pagePr.Categories
                                       where pagePr.Id == request.WidgetId && !category.IsDeleted
                                       select new CategoryModel
                                       {
                                           Id = category.Category.Id,
                                           Version = category.Version,
                                           CreatedBy = category.CreatedByUser,
                                           CreatedOn = category.CreatedOn,
                                           LastModifiedBy = category.ModifiedByUser,
                                           LastModifiedOn = category.ModifiedOn,
                                           Name = category.Category.Name
                                       }).ToList();
            }

            return response;
        }
コード例 #5
0
        private static SaveServerControlWidgetModel MapServerControlWidgetModel(GetServerControlWidgetResponse response)
        {
            var model = new SaveServerControlWidgetModel
                        {
                            Version = response.Data.Version,
                            Name = response.Data.Name,
                            IsPublished = response.Data.IsPublished,
                            PublishedOn = response.Data.PublishedOn,
                            PublishedByUser = response.Data.PublishedByUser,
                            CategoryId = response.Data.CategoryId,
                            PreviewUrl = response.Data.PreviewUrl,
                            WidgetUrl = response.Data.WidgetUrl,
                            Options = response.Options
                        };

            return model;
        }
コード例 #6
0
        private static SaveServerControlWidgetModel MapServerControlWidgetModel(GetServerControlWidgetResponse response)
        {
            var model = new SaveServerControlWidgetModel
            {
                Version         = response.Data.Version,
                Name            = response.Data.Name,
                IsPublished     = response.Data.IsPublished,
                PublishedOn     = response.Data.PublishedOn,
                PublishedByUser = response.Data.PublishedByUser,
                CategoryId      = response.Data.CategoryId,
                PreviewUrl      = response.Data.PreviewUrl,
                WidgetUrl       = response.Data.WidgetUrl,
                Options         = response.Options
            };

            return(model);
        }