public async Task <DataCollectionLearnersPage> GetLearners(string source, int ukprn, int?aimType, int?standardCode, List <int> fundModels, int?progType, int?pageSize, int?pageNumber) { _learnerMockDataDictionary.TryGetValue(ukprn, out List <DataCollectionLearner> learners); if (learners == null) { learners = _learnerMockDataDictionary[ukprn] = _generator. GetLearners(ukprn, _optionsDataCollectionMock.Value.LearnerCount, _optionsDataCollectionMock.Value.LearningDeliveryCount) .ToList(); lock (_learnerMockDataList) { _learnerMockDataList.AddRange(learners); } } var learnersPage = learners .Skip((pageSize ?? 10) * (pageNumber - 1) ?? 1).Take(pageSize ?? 10); var page = new DataCollectionLearnersPage() { Learners = new List <DataCollectionLearner>(learnersPage), PagingInfo = new DataCollectionPagingInfo() { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 10, TotalItems = learners.Count(), TotalPages = Math.Max((learners.Count() / pageSize ?? 10), 1) } }; return(await Task.FromResult(page)); }
public async Task <DataCollectionLearnersPage> GetLearners(string source, DateTime startDateTime, int?aimType, int?standardCode, List <int> fundModels, int?progType, int?pageSize, int?pageNumber) { var learners = _learnerMockDataList; var leanersPage = learners .Skip((pageSize ?? 10) * (pageNumber - 1) ?? 1).Take(pageSize ?? 10); var page = new DataCollectionLearnersPage() { Learners = new List <DataCollectionLearner>(leanersPage), PagingInfo = new DataCollectionPagingInfo() { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 10, TotalItems = learners.Count(), TotalPages = Math.Max((learners.Count() / pageSize ?? 10), 1) } }; return(await Task.FromResult(page)); }