Example #1
0
        public Result <IEnumerable <GDPRExportReport>, OperationError> GetGDPRData(int organizationId)
        {
            if (_authorizationContext.GetOrganizationReadAccessLevel(organizationId) != OrganizationDataReadAccessLevel.All)
            {
                return(new OperationError(OperationFailure.Forbidden));
            }

            var itSystems                  = _systemUsageRepository.GetSystemUsagesFromOrganization(organizationId);
            var attachedOptions            = _attachedOptionRepository.GetAttachedOptions();
            var sensitivePersonalDataTypes = _sensitivePersonalDataTypeRepository.GetSensitivePersonalDataTypes();

            var gdpExportReports = itSystems.AsEnumerable().Select(x => Map(x, attachedOptions, sensitivePersonalDataTypes));

            return(Result <IEnumerable <GDPRExportReport>, OperationError> .Success(gdpExportReports));
        }
        public IQueryable <ItSystemUsage> GetApplicableSystems(DataProcessingRegistration registration)
        {
            if (registration == null)
            {
                throw new ArgumentNullException(nameof(registration));
            }

            return
                (registration
                 .SystemUsages
                 .Select(x => x.Id)
                 .ToList()
                 .Transform
                 (
                     idsInUse => _repository
                     .GetSystemUsagesFromOrganization(registration.OrganizationId)
                     .ExceptEntitiesWithIds(idsInUse)
                 ));
        }