public PagedResult<Party> GetParties(int page, int resultsPerPage) { PagedResult<Party> parties = new PagedResult<Party>(); parties.PageNumber = page; parties.ItemsPerPage = resultsPerPage; string sql = @"Select VintageRabbit.Parties.* From VintageRabbit.Parties Inner Join VintageRabbit.Orders On VintageRabbit.Parties.OrderGuid = VintageRabbit.Orders.Guid Where VintageRabbit.Orders.Status In ('Complete', 'AwaitingShipment') Order By VintageRabbit.Parties.DateCreated Desc OFFSET @Offset ROWS FETCH NEXT @ResultsPerPage ROWS ONLY; Select Count(*) From VintageRabbit.Parties;"; int offset = (page - 1) * resultsPerPage; using (SqlConnection connection = new SqlConnection(this._connectionString)) { using (var multi = connection.QueryMultiple(sql, new { Offset = offset, ResultsPerPage = resultsPerPage })) { parties.AddRange(multi.Read<Party>()); parties.TotalResults = multi.Read<int>().First(); } } return parties; }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JObject jo = JObject.Load(reader); PagedResult <T> result = new PagedResult <T>(); result.PageSize = (int)jo["PageSize"]; result.PageIndex = (int)jo["PageIndex"]; result.TotalItems = (int)jo["TotalItems"]; result.TotalPages = (int)jo["TotalPages"]; result.AddRange(jo["Items"].ToObject <T[]>(serializer)); return(result); }
public void ArticleController_GetAll_ReturnsFeedWithTwentyArticles() { PagedResult<ArticleSummary> paginatedArticleSummaries = new PagedResult<ArticleSummary>(1, 20, 21); List<ArticleSummary> lists = new List<ArticleSummary>() { { new ArticleSummary(){ Id=1} }, { new ArticleSummary(){ Id=2} }, { new ArticleSummary(){ Id=3} }, { new ArticleSummary(){ Id=4} }, { new ArticleSummary(){ Id=5} }, { new ArticleSummary(){ Id=6} }, { new ArticleSummary(){ Id=7} }, { new ArticleSummary(){ Id=8} }, { new ArticleSummary(){ Id=9} }, { new ArticleSummary(){ Id=10} }, { new ArticleSummary(){ Id=11} }, { new ArticleSummary(){ Id=12} }, { new ArticleSummary(){ Id=13} }, { new ArticleSummary(){ Id=14} }, { new ArticleSummary(){ Id=15} }, { new ArticleSummary(){ Id=16} }, { new ArticleSummary(){ Id=17} }, { new ArticleSummary(){ Id=18} }, { new ArticleSummary(){ Id=19} }, { new ArticleSummary(){ Id=20} } }; paginatedArticleSummaries.AddRange(lists); _articleRepository.Stub(r => r.GetAll(null,null,null,1,20)).Return(paginatedArticleSummaries); _staticContentLinkService.Stub(s => s.GetStaticContentLinkForSite()).Return(new List<StaticContentLink>()); var articleFeed = _objectUnderTest.GetAll(1); var articleCount = articleFeed.Entries.Count(); Assert.AreEqual(20, articleCount); }