public async Task <IHttpActionResult> GetResources(int offset, int limit, bool viewed, int session) { var result = new DapperHelper.PageItems <object>(); if (this.IsAuthenticated() || !viewed) { result = await DapperHelper.QueryPageItems <dynamic>("dbo.copGetResources", new { UserId = this.GetUserId(), RowOffset = offset, RowLimit = limit, Viewed = viewed, Session = session, } ); } return(Ok(result)); }
private async Task <DapperHelper.PageItems <ResourceDto> > GetHistoryResources(int userId, string secondaryFilter, int offset = 0, int limit = 0) { var result = new DapperHelper.PageItems <ResourceDto>(); var partitionKey = KeyUtils.IntToKey(userId); var filterPartition = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey); var combinedFilter = !String.IsNullOrEmpty(secondaryFilter) ? TableQuery.CombineFilters(filterPartition, TableOperators.And, secondaryFilter) : filterPartition; var query = new TableQuery <LibraryHistoryEntity>().Where(combinedFilter); var entities = await AzureStorageUtils.ExecuteQueryAsync(AzureStorageUtils.TableNames.LibraryHistory, query); result.TotalCount = entities.Count(); if (entities.Any()) { var historyItems = (limit != 0) ? entities.Skip(offset).Take(limit) : entities; result.Items = await HydrateHistoryItems(historyItems, userId); } return(result); }