예제 #1
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);
            }
        }
        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();
            }
        }