Пример #1
0
        public void GetPageRequestObject()
        {
            moq::Mock <Pages.PagesClient> mockGrpcClient = new moq::Mock <Pages.PagesClient>(moq::MockBehavior.Strict);
            GetPageRequest request = new GetPageRequest
            {
                PageName     = PageName.FromProjectLocationAgentFlowPage("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[PAGE]"),
                LanguageCode = "language_code2f6c7160",
            };
            Page expectedResponse = new Page
            {
                PageName         = PageName.FromProjectLocationAgentFlowPage("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[PAGE]"),
                DisplayName      = "display_name137f65c2",
                Form             = new Form(),
                EntryFulfillment = new Fulfillment(),
                TransitionRoutes =
                {
                    new TransitionRoute(),
                },
                EventHandlers = { new EventHandler(), },
                TransitionRouteGroupsAsTransitionRouteGroupNames =
                {
                    TransitionRouteGroupName.FromProjectLocationAgentFlowTransitionRouteGroup("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[TRANSITION_ROUTE_GROUP]"),
                },
            };

            mockGrpcClient.Setup(x => x.GetPage(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            PagesClient client   = new PagesClientImpl(mockGrpcClient.Object, null);
            Page        response = client.GetPage(request);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Пример #2
0
        public async stt::Task GetPageRequestObjectAsync()
        {
            moq::Mock <Pages.PagesClient> mockGrpcClient = new moq::Mock <Pages.PagesClient>(moq::MockBehavior.Strict);
            GetPageRequest request = new GetPageRequest
            {
                PageName     = PageName.FromProjectLocationAgentFlowPage("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[PAGE]"),
                LanguageCode = "language_code2f6c7160",
            };
            Page expectedResponse = new Page
            {
                PageName         = PageName.FromProjectLocationAgentFlowPage("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[PAGE]"),
                DisplayName      = "display_name137f65c2",
                Form             = new Form(),
                EntryFulfillment = new Fulfillment(),
                TransitionRoutes =
                {
                    new TransitionRoute(),
                },
                EventHandlers = { new EventHandler(), },
                TransitionRouteGroupsAsTransitionRouteGroupNames =
                {
                    TransitionRouteGroupName.FromProjectLocationAgentFlowTransitionRouteGroup("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[TRANSITION_ROUTE_GROUP]"),
                },
            };

            mockGrpcClient.Setup(x => x.GetPageAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Page>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            PagesClient client = new PagesClientImpl(mockGrpcClient.Object, null);
            Page        responseCallSettings = await client.GetPageAsync(request, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            Page responseCancellationToken = await client.GetPageAsync(request, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
Пример #3
0
        public GetPageResponse <TEntity, TFilter, TOrder> GetPaged(GetPageRequest <TEntity, TFilter, TOrder> request)
        {
            int pageSize   = request.PageSize;
            int pageNumber = request.PageNumber;

            var query = from s in _dbContext.Set <TEntity>() select s;

            query = query.Where(request.Filter.Where());
            int totalItems = query.Count();

            foreach (var order in request.Order.OrderBy())
            {
                if (order.Item2)
                {
                    query = query.OrderByDescending(order.Item1);
                }
                else
                {
                    query = query.OrderBy(order.Item1);
                }
            }

            var entities = query.Skip((pageNumber - 1) * pageSize).Take(pageSize);

            return(new GetPageResponse <TEntity, TFilter, TOrder>(request, totalItems, entities)
            {
            });
        }
Пример #4
0
        public GetPageResponse Get(GetPageRequest request)
        {
            var query = repository.AsQueryable<Module.Pages.Models.PageProperties>();
            
            if (request.PageId.HasValue)
            {
                query = query.Where(page => page.Id == request.PageId.Value);
            }
            else
            {
                var url = urlService.FixUrl(request.PageUrl);
                query = query.Where(page => page.PageUrlHash == url.UrlHash());
            }

            var model = query
                .Select(page => new PageModel
                    {
                        Id = page.Id,
                        Version = page.Version,
                        CreatedBy = page.CreatedByUser,
                        CreatedOn = page.CreatedOn,
                        LastModifiedBy = page.ModifiedByUser,
                        LastModifiedOn = page.ModifiedOn,

                        PageUrl = page.PageUrl,
                        Title = page.Title,
                        Description = page.Description,
                        IsPublished = page.Status == PageStatus.Published,
                        PublishedOn = page.PublishedOn,
                        LayoutId = page.Layout != null && !page.Layout.IsDeleted ? page.Layout.Id : (Guid?)null,
                        MasterPageId = page.MasterPage != null && !page.MasterPage.IsDeleted ? page.MasterPage.Id : (Guid?)null,
                        CategoryId = page.Category != null && !page.Category.IsDeleted ? page.Category.Id : (Guid?)null,
                        CategoryName = page.Category != null && !page.Category.IsDeleted ? page.Category.Name : null,
                        MainImageId = page.Image != null && !page.Image.IsDeleted ? page.Image.Id : (Guid?)null,
                        MainImageUrl = page.Image != null && !page.Image.IsDeleted ? page.Image.PublicUrl : null,
                        MainImageThumbnauilUrl = page.Image != null && !page.Image.IsDeleted ? page.Image.PublicThumbnailUrl : null,
                        MainImageCaption = page.Image != null && !page.Image.IsDeleted ? page.Image.Caption : null,
                        IsArchived = page.IsArchived,
                        IsMasterPage = page.IsMasterPage,
                        LanguageId = page.Language != null ? page.Language.Id : (Guid?)null,
                        LanguageCode = page.Language != null ? page.Language.Code : null,
                        LanguageGroupIdentifier = page.LanguageGroupIdentifier
                    })
                .FirstOne();

            model.MainImageUrl = fileUrlResolver.EnsureFullPathUrl(model.MainImageUrl);
            model.MainImageThumbnauilUrl = fileUrlResolver.EnsureFullPathUrl(model.MainImageThumbnauilUrl);

            return new GetPageResponse { Data = model };
        }
Пример #5
0
 /// <summary>Snippet for GetPage</summary>
 public void GetPageRequestObject()
 {
     // Snippet: GetPage(GetPageRequest, CallSettings)
     // Create client
     PagesClient pagesClient = PagesClient.Create();
     // Initialize request argument(s)
     GetPageRequest request = new GetPageRequest
     {
         PageName     = PageName.FromProjectLocationAgentFlowPage("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[PAGE]"),
         LanguageCode = "",
     };
     // Make the request
     Page response = pagesClient.GetPage(request);
     // End snippet
 }
Пример #6
0
        /// <summary>Snippet for GetPageAsync</summary>
        public async Task GetPageRequestObjectAsync()
        {
            // Snippet: GetPageAsync(GetPageRequest, CallSettings)
            // Additional: GetPageAsync(GetPageRequest, CancellationToken)
            // Create client
            PagesClient pagesClient = await PagesClient.CreateAsync();

            // Initialize request argument(s)
            GetPageRequest request = new GetPageRequest
            {
                PageName     = PageName.FromProjectLocationAgentFlowPage("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]", "[PAGE]"),
                LanguageCode = "",
            };
            // Make the request
            Page response = await pagesClient.GetPageAsync(request);

            // End snippet
        }
Пример #7
0
        /// <summary>
        /// Gets the page entity.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        /// Page entity
        /// </returns>
        /// <exception cref="CmsApiException"></exception>
        public PageProperties GetPage(GetPageRequest request)
        {
            try
            {
                var query = Repository
                            .AsQueryable <PageProperties>()
                            .Where(p => p.Id == request.Id);

                return(FetchPageChilds(query, request.LoadChilds)
                       .ToList()
                       .FirstOne());
            }
            catch (Exception inner)
            {
                var message = string.Format("Failed to get page exists by id:{0}", request.Id);
                Logger.Error(message, inner);
                throw new CmsApiException(message, inner);
            }
        }