Esempio n. 1
0
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     // In case of multiple subsequent flushes within single transaction, modification flags need to be
     // recalculated against initial and final state of the given entity.
     return(new ModWorkUnit(second.SessionImplementor, second.EntityName, second.VerCfg, second.EntityId,
                            second._entityPersister, second._newState, _oldState));
 }
Esempio n. 2
0
        public virtual void OnPostUpdate(PostUpdateEvent evt)
        {
            var entityName = evt.Persister.EntityName;
            if (!VerCfg.EntCfg.IsVersioned(entityName)) return;

            var verSync = VerCfg.AuditProcessManager.Get(evt.Session);
            var workUnit = new ModWorkUnit(evt.Session, evt.Persister.EntityName, VerCfg,
                                                                         evt.Id, evt.Persister, evt.State, evt.OldState);
            verSync.AddWorkUnit(workUnit);
            if (workUnit.ContainsWork())
            {
                GenerateBidirectionalCollectionChangeWorkUnits(verSync, evt.Persister, entityName, evt.State,
                                                                    evt.OldState, evt.Session);
            }
        }
Esempio n. 3
0
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return(null);
 }
 public abstract IAuditWorkUnit Merge(ModWorkUnit second);
 public abstract IAuditWorkUnit Merge(ModWorkUnit second);
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return null;
 }
Esempio n. 7
0
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return(new AddWorkUnit(sessionImplementor, EntityName, verCfg, EntityId, second.getData()));
 }
Esempio n. 8
0
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return(Merge(this, NestedWorkUnit, second));
 }
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return Merge(this, NestedWorkUnit, second);
 }
Esempio n. 10
0
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return(new AddWorkUnit(SessionImplementor, EntityName, VerCfg, EntityId, mergeModifiedFlags(data, second.Data)));
 }
Esempio n. 11
0
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     return new AddWorkUnit(sessionImplementor, EntityName, verCfg, EntityId, second.getData());
 }
        public void OnPostUpdate(PostUpdateEvent evt) {
            String entityName = evt.Persister.EntityName;

            if (verCfg.EntCfg.IsVersioned(entityName)) {
                AuditSync verSync = verCfg.AuditSyncManager.get(evt.Session);

                IAuditWorkUnit workUnit = new ModWorkUnit(evt.Session, evt.Persister.EntityName, verCfg,
                        evt.Id, evt.Persister, evt.State, evt.OldState);
                verSync.AddWorkUnit(workUnit);

                if (workUnit.ContainsWork()) {
                    GenerateBidirectionalCollectionChangeWorkUnits(verSync, evt.Persister, entityName, evt.State,
                            evt.OldState, evt.Session);
                }
                //Simon - TODO - same as above
                //verSync.BeforeCompletion();
            }
        }
 public override IAuditWorkUnit Merge(ModWorkUnit second)
 {
     MergeCollectionModifiedData(second.Data);
     return(second);
 }