Example #1
0
        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);
        }
Example #2
0
        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);
        }