Example #1
0
 internal static void UnregisterUow(IUnitOfWorkEventHandler uow)
 {
     RemoveLost();
     lock (RegisteredUoWs)
     {
         RegisteredUoWs.Remove(uow.Session.GetHashCode());
         logger.Debug("UnitOfWork завершил работу. {0}", ActiveUowCountText());
     }
 }
Example #2
0
        internal static void RegisterUow(IUnitOfWorkEventHandler uow)
        {
            RemoveLost();
            lock (RegisteredUoWs)
            {
                var uowLink = new UowLink(uow);
                RegisteredUoWs.Add(uow.Session.GetHashCode(), uowLink);

                logger.Debug($"Зарегистрирован новый UnitOfWork. {ActiveUowCountText()}. Создан в {uowLink.Title.CallerMemberName} ({uowLink.Title.CallerFilePath}:{uowLink.Title.CallerLineNumber})");
            }
        }
Example #3
0
        public void OnPostUpdate(PostUpdateEvent @event)
        {
            IUnitOfWorkEventHandler uow = GetUnitOfWork(@event.Session);

            if (uow != null)
            {
                uow.HibernateTracker?.OnPostUpdate(@event);
            }
            else
            {
                logger.Warn("Пришло событие OnPostUpdate но соответствующий сессии UnitOfWork не найден.");
            }
        }
Example #4
0
        public void OnPreLoad(PreLoadEvent @event)
        {
            IUnitOfWorkEventHandler uow = GetUnitOfWork(@event.Session);

            if (uow != null)
            {
                uow.OnPreLoad(@event);
            }
            else
            {
                logger.Warn("Пришло событие PreLoadEvent но соответствующий сессии UnitOfWork не найден.");
            }
        }
Example #5
0
 public UowLink(IUnitOfWorkEventHandler uow)
 {
     SessionHashCode = uow.Session.GetHashCode();
     this.uow        = new WeakReference(uow);
     this.Title      = uow.ActionTitle;
 }