public async Task <HttpResponse> Get()
        {
            var builder = new QueryBuilder <ContentfulCommsHomepage>().ContentTypeIs("commsHomepage").Include(1);
            var entries = await _client.GetEntries(builder);

            var entry = entries.FirstOrDefault();

            if (entry != null && entry.WhatsOnInStockportEvent == null)
            {
                var sortOrder = SortOrderBuilder <ContentfulEvent> .New(f => f.EventDate);

                var eventQueryBuilder = new QueryBuilder <ContentfulEvent>()
                                        .FieldGreaterThan(f => f.EventDate, DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssK"))
                                        .ContentTypeIs("events")
                                        .OrderBy(sortOrder.Build())
                                        .Limit(1);
                var eventEntry = await _client.GetEntries(eventQueryBuilder);

                entry.WhatsOnInStockportEvent = eventEntry.FirstOrDefault();
            }

            return(entry == null
                ? HttpResponse.Failure(HttpStatusCode.NotFound, "No comms homepage found")
                : HttpResponse.Successful(_commsHomepageFactory.ToModel(entry)));
        }
Exemplo n.º 2
0
        public void CreatedSortOrderBuilderGenericWithReversedOrderShouldHoldOnlyOneSortExpressionWithReversedSorting()
        {
            //Arrange
            var builder = SortOrderBuilder <Author> .New(a => a.Name, SortOrder.Reversed);

            //Act
            var res = builder.Build();

            //Assert
            Assert.Equal("-fields.name", res);
        }
Exemplo n.º 3
0
        public void CreatedSortOrderBuilderWithReversedOrderShouldHoldOnlyOneSortExpressionWithReversedSorting()
        {
            //Arrange
            var builder = SortOrderBuilder <object> .New("sys.created", SortOrder.Reversed);

            //Act
            var res = builder.Build();

            //Assert
            Assert.Equal("-sys.created", res);
        }
Exemplo n.º 4
0
        private QueryBuilder <JObject> CreateQueryBuilder()
        {
            var queryBuilder = QueryBuilder <JObject> .New.LocaleIs("*").Include(_includes)
                               .OrderBy(SortOrderBuilder <JObject> .New("sys.createdAt").Build())
                               .Limit(_limit).Skip(_skip);

            if (!string.IsNullOrEmpty(_contentTypeId))
            {
                queryBuilder.ContentTypeIs(_contentTypeId);
            }

            return(queryBuilder);
        }
Exemplo n.º 5
0
        public void AddingSortOrderParametersGenericShouldYieldCorrectSortExpression()
        {
            //Arrange
            var builder =
                SortOrderBuilder <Author> .New(a => a.SystemProperties.Id, SortOrder.Reversed).ThenBy(a => a.Name)
                .ThenBy(a => a.LongThing, SortOrder.Reversed);

            //Act
            var res = builder.Build();

            //Assert
            Assert.Equal("-sys.id,fields.name,-fields.long", res);
        }
Exemplo n.º 6
0
        public void AddingSortOrderParametersShouldYieldCorrectSortExpression()
        {
            //Arrange
            var builder =
                SortOrderBuilder <object> .New("sys.created", SortOrder.Reversed).ThenBy("field.name")
                .ThenBy("field.date", SortOrder.Reversed);

            //Act
            var res = builder.Build();

            //Assert
            Assert.Equal("-sys.created,field.name,-field.date", res);
        }
Exemplo n.º 7
0
        private QueryBuilder <Entry <dynamic> > CreateQueryBuilder()
        {
            var queryBuilder = QueryBuilder <Entry <dynamic> > .New.LocaleIs("*").Include(_includes)
                               .OrderBy(SortOrderBuilder <Entry <dynamic> > .New(f => f.SystemProperties.CreatedAt).Build())
                               .Limit(_limit).Skip(_skip);

            if (!string.IsNullOrEmpty(_contentTypeId))
            {
                queryBuilder.ContentTypeIs(_contentTypeId);
            }

            return(queryBuilder);
        }