Example #1
0
        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();
        }
Example #2
0
 public void persistMetadata()
 {
     if(meta_dirty)
     {
         MetadataDAO dao = new MetadataDAO((IFeatureWorkspace)this.pgdbConnection);
         dao.save(this);
     }
     meta_dirty = false;
 }