}     // _addRegListListModeProp()

        private void _addPropFiltertoAddCASNosProp()
        {
            CswNbtMetaDataObjectClass RegulatoryListOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.RegulatoryListClass);

            if (null != RegulatoryListOC)
            {
                CswNbtMetaDataObjectClassProp ListModeOCP      = RegulatoryListOC.getObjectClassProp(CswNbtObjClassRegulatoryList.PropertyName.ListMode);
                CswNbtMetaDataObjectClassProp AddCASNumbersOCP = RegulatoryListOC.getObjectClassProp(CswNbtObjClassRegulatoryList.PropertyName.AddCASNumbers);
                AddCASNumbersOCP.setFilter(FilterProp: ListModeOCP,
                                           SubField: ListModeOCP.getFieldTypeRule().SubFields.Default,
                                           FilterMode: CswEnumNbtFilterMode.Equals,
                                           FilterValue: CswNbtObjClassRegulatoryList.CswEnumRegulatoryListListModes.ManuallyManaged);
            }
        } //_addPropFiltertoAddCASNosProp()
        private void _createInvGrpPermApplyToAllOCPs()
        {
            CswNbtMetaDataObjectClass     InvGrpPermOC           = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.InventoryGroupPermissionClass);
            CswNbtMetaDataObjectClassProp ApplyToAllWorkUnitsOCP =
                _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(InvGrpPermOC)
            {
                PropName    = CswNbtPropertySetPermission.PropertyName.ApplyToAllWorkUnits,
                FieldType   = CswEnumNbtFieldType.Logical,
                IsRequired  = true,
                SetValOnAdd = true
            });

            _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ApplyToAllWorkUnitsOCP, CswEnumTristate.False);
            CswNbtMetaDataObjectClassProp ApplyToAllRolesOCP =
                _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(InvGrpPermOC)
            {
                PropName    = CswNbtPropertySetPermission.PropertyName.ApplyToAllRoles,
                FieldType   = CswEnumNbtFieldType.Logical,
                IsRequired  = true,
                SetValOnAdd = true
            });

            _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ApplyToAllRolesOCP, CswEnumTristate.False);
            CswNbtMetaDataObjectClassProp WorkUnitOCP = InvGrpPermOC.getObjectClassProp(CswNbtObjClassInventoryGroupPermission.PropertyName.WorkUnit);

            _CswNbtSchemaModTrnsctn.MetaData.UpdateObjectClassProp(WorkUnitOCP, CswEnumNbtObjectClassPropAttributes.isrequired, false);
            WorkUnitOCP.setFilter(ApplyToAllWorkUnitsOCP, ApplyToAllWorkUnitsOCP.getFieldTypeRule().SubFields.Default, CswEnumNbtFilterMode.Equals, CswEnumTristate.False);
            CswNbtMetaDataObjectClassProp RoleOCP = InvGrpPermOC.getObjectClassProp(CswNbtObjClassInventoryGroupPermission.PropertyName.Role);

            _CswNbtSchemaModTrnsctn.MetaData.UpdateObjectClassProp(RoleOCP, CswEnumNbtObjectClassPropAttributes.isrequired, false);
            RoleOCP.setFilter(ApplyToAllRolesOCP, ApplyToAllRolesOCP.getFieldTypeRule().SubFields.Default, CswEnumNbtFilterMode.Equals, CswEnumTristate.False);

            CswNbtMetaDataObjectClassProp PermissionGroupOCP = InvGrpPermOC.getObjectClassProp("Inventory Group");

            if (null != PermissionGroupOCP)
            {
                CswTableUpdate OCPUpdate   = _CswNbtSchemaModTrnsctn.makeCswTableUpdate("ChangeInvGrpPermName", "object_class_props");
                DataTable      OCPropTable = OCPUpdate.getTable("where objectclasspropid = " + PermissionGroupOCP.PropId);
                if (OCPropTable.Rows.Count > 0)
                {
                    OCPropTable.Rows[0]["propname"] = CswNbtPropertySetPermission.PropertyName.PermissionGroup;
                    OCPUpdate.update(OCPropTable);
                }
            }
        }
        private void _createPermissionClass(PermissionSetAttributes PermSet)
        {
            CswNbtMetaDataObjectClass PermissionOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(PermSet.PermissionClassName);

            if (null == PermissionOC)
            {
                PermissionOC = _CswNbtSchemaModTrnsctn.createObjectClass(PermSet.PermissionClassName, "doc.png", false);

                CswNbtMetaDataObjectClass GroupOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(PermSet.GroupClassName);
                _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.PermissionGroup,
                    FieldType   = CswEnumNbtFieldType.Relationship,
                    IsRequired  = true,
                    SetValOnAdd = true,
                    IsFk        = true,
                    FkType      = CswEnumNbtViewRelatedIdType.ObjectClassId.ToString(),
                    FkValue     = GroupOC.ObjectClassId
                });
                CswNbtMetaDataObjectClass     WorkUnitOC  = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.WorkUnitClass);
                CswNbtMetaDataObjectClassProp WorkUnitOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.WorkUnit,
                    FieldType   = CswEnumNbtFieldType.Relationship,
                    SetValOnAdd = true,
                    IsFk        = true,
                    FkType      = CswEnumNbtViewRelatedIdType.ObjectClassId.ToString(),
                    FkValue     = WorkUnitOC.ObjectClassId
                });
                CswNbtMetaDataObjectClassProp ApplyToAllWorkUnitsOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.ApplyToAllWorkUnits,
                    FieldType   = CswEnumNbtFieldType.Logical,
                    IsRequired  = true,
                    SetValOnAdd = true
                });
                _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ApplyToAllWorkUnitsOCP, CswEnumTristate.False);
                WorkUnitOCP.setFilter(ApplyToAllWorkUnitsOCP, ApplyToAllWorkUnitsOCP.getFieldTypeRule().SubFields.Default, CswEnumNbtFilterMode.Equals, CswEnumTristate.False);
                CswNbtMetaDataObjectClass     RoleOC  = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.RoleClass);
                CswNbtMetaDataObjectClassProp RoleOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.Role,
                    FieldType   = CswEnumNbtFieldType.Relationship,
                    SetValOnAdd = true,
                    IsFk        = true,
                    FkType      = CswEnumNbtViewRelatedIdType.ObjectClassId.ToString(),
                    FkValue     = RoleOC.ObjectClassId
                });
                CswNbtMetaDataObjectClassProp ApplyToAllRolesOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.ApplyToAllRoles,
                    FieldType   = CswEnumNbtFieldType.Logical,
                    IsRequired  = true,
                    SetValOnAdd = true
                });
                _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ApplyToAllRolesOCP, CswEnumTristate.False);
                RoleOCP.setFilter(ApplyToAllRolesOCP, ApplyToAllRolesOCP.getFieldTypeRule().SubFields.Default, CswEnumNbtFilterMode.Equals, CswEnumTristate.False);
                CswNbtMetaDataObjectClassProp ViewOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.View,
                    FieldType   = CswEnumNbtFieldType.Logical,
                    IsRequired  = true,
                    SetValOnAdd = true
                });
                _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ViewOCP, CswEnumTristate.False);
                CswNbtMetaDataObjectClassProp EditOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PermissionOC)
                {
                    PropName    = CswNbtPropertySetPermission.PropertyName.Edit,
                    FieldType   = CswEnumNbtFieldType.Logical,
                    IsRequired  = true,
                    SetValOnAdd = true
                });
                _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(EditOCP, CswEnumTristate.False);
            }
        }