/// <summary>
        /// Get Qualification List
        /// </summary>
        /// <returns></returns>
        public async Task <QualificationDataListDto> GetQualifications()
        {
            QualificationDataListDto qualificationList;

            qualificationList = _cacheService.Get <QualificationDataListDto>(QualificationKey, CacheItemType.QualificationMaster);
            if (qualificationList == null)
            {
                //get from Master
                var apiUrl = UrlExtension.Combine(APIBasePath, "/QualificationTypes/");

                var qualifications = await _apiService.GetJsonAsync <List <CUQualificationType> >(apiUrl);

                qualificationList = new QualificationDataListDto();
                //sorting of Course / subjects / Grade and hide by VisibleOle
                foreach (var qual in qualifications.Where(q => q.VisibleOle == true).OrderBy(q => q.Description))
                {
                    var newqualification = AutoMapper.Mapper.Map <QualificationDataDto>(qual);

                    apiUrl = UrlExtension.Combine(APIBasePath, "/QualificationTypeSubjects/", qual.QualificationTypeCode);
                    var subjects = await _apiService.GetJsonAsync <List <CUSubject> >(apiUrl);

                    newqualification.Subjects = AutoMapper.Mapper.Map <List <SubjectDto> >(subjects.Where(q => q.VisibleOle == true)).OrderBy(s => s.SubjectTitle).ToList();

                    apiUrl = UrlExtension.Combine(APIBasePath, "/QualificationTypeResults/", qual.QualificationTypeCode);
                    var results = await _apiService.GetJsonAsync <List <CUResult> >(apiUrl);

                    newqualification.Results = AutoMapper.Mapper.Map <List <ResultDto> >(results.Where(q => q.VisibleOle == true)).OrderBy(r => r.Result).ToList();

                    qualificationList.Add(newqualification);
                }

                _cacheService.AddOrReplace(QualificationKey, Core.Enums.CacheItemType.QualificationMaster, qualificationList);
            }

            return(qualificationList);
        }