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));
        }