public static bool isAllowedDatasetFC(string sLayer) { bool bRetVal = false; ESRI.ArcGIS.Geodatabase.IWorkspace pWorkSpace; using (CSpatialSubs oSpatialSubs = new CSpatialSubs()) { pWorkSpace = oSpatialSubs.returnEditableSDEWorkspace(); } if (pWorkSpace != null) { // get the feature classes from each dataset IEnumDataset enumFeatureDatasets = pWorkSpace.get_Datasets(esriDatasetType.esriDTFeatureDataset); enumFeatureDatasets.Reset(); IFeatureDataset featureDataset = (IFeatureDataset)enumFeatureDatasets.Next(); while (featureDataset != null) { ISQLPrivilege oDSPriv = (ISQLPrivilege)featureDataset.FullName; int iDSPriv = oDSPriv.SQLPrivileges; if (iDSPriv > 1) { IFeatureClassContainer fcContainer = (IFeatureClassContainer)featureDataset; IEnumFeatureClass enumFeatureClasses = fcContainer.Classes; enumFeatureClasses.Reset(); IFeatureClass fc = (IFeatureClass)enumFeatureClasses.Next(); while (fc != null) { if (sLayer == fc.AliasName.ToString()) { bRetVal = true; break; } fc = (IFeatureClass)enumFeatureClasses.Next(); } } featureDataset = (IFeatureDataset)enumFeatureDatasets.Next(); } } return(bRetVal); }
public static bool isAllowedStandaloneFC(string sLayer) { bool bRetVal = false; ESRI.ArcGIS.Geodatabase.IWorkspace pWorkSpace; using (CSpatialSubs oSpatialSubs = new CSpatialSubs()) { pWorkSpace = oSpatialSubs.returnEditableSDEWorkspace(); } if (pWorkSpace != null) { IEnumDataset enumFC = pWorkSpace.get_Datasets(esriDatasetType.esriDTFeatureClass); enumFC.Reset(); IFeatureClass fc = (IFeatureClass)enumFC.Next(); while (fc != null) { IDataset ds = fc as IDataset; ISQLPrivilege oFCPriv = (ISQLPrivilege)ds.FullName; int iFCPriv = oFCPriv.SQLPrivileges; if (iFCPriv > 1) { if (sLayer == fc.AliasName.ToString()) { bRetVal = true; break; } fc = (IFeatureClass)enumFC.Next(); } } } return(bRetVal); }