public static ScopeStorage ToScopeStorage(ScopeConfiguration scope)
        {
            ScopeStorage scopeStorage = new ScopeStorage();

            scopeStorage[ADObjectSchema.OrganizationalUnitRoot] = new ADObjectId(scope.TenantId);
            scopeStorage.Name = scope.Name;
            scopeStorage.SetId((ADObjectId)DalHelper.ConvertFromStoreObject(scope.ObjectId, typeof(ADObjectId)));
            UnifiedPolicyStorageFactory.CopyPropertiesToStorage <ScopeConfiguration>(new TenantSettingFacade <ScopeStorage>(scopeStorage), scope);
            return(scopeStorage);
        }
        public static AssociationStorage ToAssociationStorage(AssociationConfiguration association)
        {
            AssociationStorage associationStorage = new AssociationStorage();

            associationStorage[ADObjectSchema.OrganizationalUnitRoot] = new ADObjectId(association.TenantId);
            associationStorage.Name = association.Name;
            associationStorage.SetId((ADObjectId)DalHelper.ConvertFromStoreObject(association.ObjectId, typeof(ADObjectId)));
            UnifiedPolicyStorageFactory.CopyPropertiesToStorage <AssociationConfiguration>(new TenantSettingFacade <AssociationStorage>(associationStorage), association);
            return(associationStorage);
        }
        public static RuleStorage ToRuleStorage(RuleConfiguration rule)
        {
            RuleStorage ruleStorage = new RuleStorage();

            ruleStorage[ADObjectSchema.OrganizationalUnitRoot] = new ADObjectId(rule.TenantId);
            ruleStorage.Name = rule.Name;
            ruleStorage.SetId((ADObjectId)DalHelper.ConvertFromStoreObject(rule.ObjectId, typeof(ADObjectId)));
            UnifiedPolicyStorageFactory.CopyPropertiesToStorage <RuleConfiguration>(new TenantSettingFacade <RuleStorage>(ruleStorage), rule);
            return(ruleStorage);
        }
        public static PolicyStorage ToPolicyStorage(PolicyConfiguration policy)
        {
            PolicyStorage policyStorage = new PolicyStorage();

            policyStorage[ADObjectSchema.OrganizationalUnitRoot] = new ADObjectId(policy.TenantId);
            policyStorage.Name = policy.Name;
            policyStorage.SetId((ADObjectId)DalHelper.ConvertFromStoreObject(policy.ObjectId, typeof(ADObjectId)));
            UnifiedPolicyStorageFactory.CopyPropertiesToStorage <PolicyConfiguration>(new TenantSettingFacade <PolicyStorage>(policyStorage), policy);
            return(policyStorage);
        }
        public static BindingStorage ToBindingStorage(BindingConfiguration binding)
        {
            BindingStorage bindingStorage = new BindingStorage();

            bindingStorage[ADObjectSchema.OrganizationalUnitRoot] = new ADObjectId(binding.TenantId);
            bindingStorage.Name = binding.Name;
            bindingStorage.SetId((ADObjectId)DalHelper.ConvertFromStoreObject(binding.ObjectId, typeof(ADObjectId)));
            UnifiedPolicyStorageFactory.CopyPropertiesToStorage <BindingConfiguration>(new TenantSettingFacade <BindingStorage>(bindingStorage), binding);
            if (binding.AppliedScopes != null && binding.AppliedScopes.Changed)
            {
                bindingStorage.AppliedScopes = new MultiValuedProperty <ScopeStorage>(from s in binding.AppliedScopes.ChangedValues
                                                                                      select UnifiedPolicyStorageFactory.ToScopeStorage(s));
            }
            return(bindingStorage);
        }