public void ComputeConflicts() { Transaction transaction = this.transactionManager.Current(); // for each table compute conflicts if(transaction.PGDBConnection!= null) { IEnumDatasetName names = transaction.PGDBConnection.get_DatasetNames(esriDatasetType.esriDTAny); if(names != null) { ArrayList list = new ArrayList(); for(IDatasetName name = names.Next();name!=null;name = names.Next()) { if(name != null) { string key = name.Name; // transactionManager.transactionConfig().get_KeyFromWorking(name.Name); if (key != null && !key.ToUpper().Equals("METADATA") && !key.ToUpper().Equals("DATA_ERRORS") && !key.ToUpper().Equals("ISDUT_SPATIAL_EDIT_EXTENTS_SP") && !key.Equals("TEMP_TRANSPORT") && !key.Equals("TEMP_RR_LG_SUBLOTS")) { // compute conflicts for the layer ICollection conflicts = compute(key, transaction); // resolve+store conflicts against cache list if(conflicts != null) persist(conflicts, transaction, key); } } } } transaction.ConflictDate = DateTime.Now; // force a write action now MetadataDAO dao = new MetadataDAO((IFeatureWorkspace)transaction.PGDBConnection); dao.save(transaction); } GC.Collect(); }
public void persistMetadata() { if(meta_dirty) { MetadataDAO dao = new MetadataDAO((IFeatureWorkspace)this.pgdbConnection); dao.save(this); } meta_dirty = false; }