public int GetObjectID(string objectName, enumTemplateObjectType objectType) { if (_workspace == null) { Connect(); } IQueryFilter filter = new QueryFilterClass(); ITable pTable; switch (objectType) { case enumTemplateObjectType.FeatureClass: pTable = _workspace.OpenTable("YT_TEMPLATE_FEATURECLASS"); filter.WhereClause = "TemplateName='" + objectName + "'"; break; case enumTemplateObjectType.Domain: pTable = _workspace.OpenTable("YT_TEMPLATE_DOMAIN"); filter.WhereClause = "DomainName='" + objectName + "'"; break; case enumTemplateObjectType.FeatureDataset: pTable = _workspace.OpenTable("YT_TEMPLATE_DATASET"); filter.WhereClause = "Dataset='" + objectName + "'"; break; default: return(-1); } ICursor pCursor = pTable.Search(filter, false); IRow pRow = pCursor.NextRow(); int oid = -1; if (pRow != null) { oid = pRow.OID; } ComReleaser.ReleaseCOMObject(filter); ComReleaser.ReleaseCOMObject(pCursor); return(oid); }
public bool DeleteObject(int objectID, enumTemplateObjectType objectType) { if (_workspace == null) { Connect(); } IWorkspaceEdit pWksEdit = _workspace as IWorkspaceEdit; pWksEdit.StartEditing(true); pWksEdit.StartEditOperation(); ITable pTable; IRow pRow; switch (objectType) { case enumTemplateObjectType.FeatureClass: pTable = _workspace.OpenTable("YT_TEMPLATE_FEATURECLASS"); pRow = pTable.GetRow(objectID); break; case enumTemplateObjectType.Domain: pTable = _workspace.OpenTable("YT_TEMPLATE_DOMAIN"); pRow = pTable.GetRow(objectID); break; case enumTemplateObjectType.FeatureDataset: pTable = _workspace.OpenTable("YT_TEMPLATE_DATASET"); pRow = pTable.GetRow(objectID); break; default: return(false); } pRow.Delete(); pWksEdit.StopEditOperation(); pWksEdit.StopEditing(true); DisConnect(); return(true); }