Exemple #1
0
        public async Task <List <IronMountainResponseDto> > GetResourcePolicies(ISet <IronMountainRequestDto> policyRequestValues)
        {
            var retentionScheduleResponse = new List <IronMountainResponseDto>();

            try
            {
                IronMountainRentionScheduleDto retentionSchedule = await GetAllRecordClasses();

                foreach (var policyRequest in policyRequestValues)
                {
                    List <RetentionClassPolicies> retentionClassPolicies = new List <RetentionClassPolicies>();
                    foreach (var category in policyRequest.dataCategories)
                    {
                        var dataCategoryId = category.Substring(category.LastIndexOf('/') + 1);
                        var recordClass    = GetRecordClassesByHierarchy(retentionSchedule.retentionSchedule, dataCategoryId).FirstOrDefault();
                        retentionClassPolicies = recordClass != null?mapRecordClasses(recordClass, retentionClassPolicies) : retentionClassPolicies;
                    }
                    IronMountainResponseDto ironMountainResponseDto = new IronMountainResponseDto();
                    ironMountainResponseDto.pidUri = policyRequest.pidUri;
                    ironMountainResponseDto.retentionClassPolicies = retentionClassPolicies;
                    retentionScheduleResponse.Add(ironMountainResponseDto);
                }
            }
            catch (SystemException ex)
            {
                _logger.LogError("Could not fetch retention schedule from IronMountain.", ex);
            }
            return(retentionScheduleResponse);
        }
Exemple #2
0
        public async Task <IronMountainRentionScheduleDto> GetAllRecordClasses()
        {
            var allRecordClassesObject = new IronMountainRentionScheduleDto();

            try
            {
                allRecordClassesObject = await _ironMountainRepository.GetIronMountainData();
            }
            catch (AuthenticationException ex)
            {
                _logger.LogError("An error occured to authenticate to iron mountain", ex);
            }
            return(allRecordClassesObject);
        }