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))); }
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); }
public void CreatedSortOrderBuilderWithReversedOrderShouldHoldOnlyOneSortExpressionWithReversedSorting() { //Arrange var builder = SortOrderBuilder <object> .New("sys.created", SortOrder.Reversed); //Act var res = builder.Build(); //Assert Assert.Equal("-sys.created", res); }
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); }
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); }
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); }
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); }