Exemplo n.º 1
0
 private static void RegistryOnRegistered([CanBeNull] object sender, [NotNull] ComponentRegisteredEventArgs args)
 {
     if (UnitOfWorkHelper.IsConventionalUowClass(args.ComponentRegistration.Activator.LimitType) ||
         UnitOfWorkHelper.HasUnitOfWorkAttribute(args.ComponentRegistration.Activator.LimitType))
     {
         UnitOfWorkRegistrar(args);
     }
 }
Exemplo n.º 2
0
        private static bool RequiresDbConnection(MethodInfo methodInfo)
        {
            if (UnitOfWorkHelper.HasUnitOfWorkAttribute(methodInfo))
            {
                return(true);
            }

            if (UnitOfWorkHelper.IsRepositoryMethod(methodInfo))
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 3
0
 public static void RegisterUnitOfWorkInterceptor(string key, IHandler handler)
 {
     foreach (var method in handler.ComponentModel.Implementation.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
     {
         if (UnitOfWorkHelper.HasUnitOfWorkAttribute(method))
         {
             handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UnitOfWorkInterceptor)));
             return;
         }
     }
     if (UnitOfWorkHelper.IsRepositoryClass(handler.ComponentModel.Implementation))
     {
         handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UnitOfWorkInterceptor)));
         return;
     }
 }
Exemplo n.º 4
0
        void Kernel_ComponentRegistered(string key, IHandler handler)
        {
            if (UnitOfWorkHelper.IsRepositoryClass(handler.ComponentModel.Implementation))
            {
                handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UoWInterceptor)));
            }

            foreach (var method in handler.ComponentModel.Implementation.GetMethods())
            {
                if (UnitOfWorkHelper.HasUnitOfWorkAttribute(method))
                {
                    handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UoWInterceptor)));
                    return;
                }
            }
        }
        private static void Kernel_ComponentRegistered(string key, IHandler handler)
        {
            if (UnitOfWorkHelper.IsRepositoryClass(handler.ComponentModel.Implementation))
            {
                handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(NHUnitOfWorkInterceptor)));
            }

            if (
                !handler.ComponentModel.Implementation.GetMethods()
                .Any(method => UnitOfWorkHelper.HasUnitOfWorkAttribute(method)))
            {
                return;
            }

            handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(NHUnitOfWorkInterceptor)));
        }
Exemplo n.º 6
0
        static void Kernel_ComponentRegistered(string key, Castle.MicroKernel.IHandler handler)
        {
            //Intercept all methods of all repositories.
            if (UnitOfWorkHelper.IsRepositoryClass(handler.ComponentModel.Implementation))
            {
                handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UnitOfWorkInterceptor)));
            }

            //Intercept all methods of classes those have at least one method that has UnitOfWork attribute.
            foreach (var method in handler.ComponentModel.Implementation.GetMethods())
            {
                if (UnitOfWorkHelper.HasUnitOfWorkAttribute(method))
                {
                    handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UnitOfWorkInterceptor)));
                    return;
                }
            }
        }
Exemplo n.º 7
0
        //TODO
        private void Kernel_ComponentRegistered(string key, IHandler handler)
        {
            if (UnitOfWorkHelper.IsServiceClass(handler.ComponentModel.Implementation))
            {
                //handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(NhUnitOfWorkInterceptor)));
                //handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(NotificationOfUnitOfWorkInterceptor)));
            }

            //Intercept all methods of classes those have at least one method that has UnitOfWork attribute.
            foreach (var method in handler.ComponentModel.Implementation.GetMethods())
            {
                if (UnitOfWorkHelper.HasUnitOfWorkAttribute(method))
                {
                    handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(UnitOfWorkInterceptor)));
                    //   handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(NotificationOfUnitOfWorkInterceptor)));
                    return;
                }
            }
        }
Exemplo n.º 8
0
 public static bool RequiresDbConnection(MethodInfo methodInfo)
 {
     return(UnitOfWorkHelper.HasUnitOfWorkAttribute(methodInfo) || UnitOfWorkHelper.IsServiceMethod(methodInfo));
 }
Exemplo n.º 9
0
 private static bool IsUnitOfWorkType(TypeInfo implementationType)
 {
     return(UnitOfWorkHelper.HasUnitOfWorkAttribute(implementationType));
 }