BeiDream.Core.Domain.Uow.Interception.UnitOfWorkInterceptor.Intercept C# (CSharp) Метод

Intercept() публичный Метод

public Intercept ( IInvocation invocation ) : void
invocation IInvocation
Результат void
        public void Intercept(IInvocation invocation)
        {
            var disableFiltersAttr = GetDisableFiltersAttributeOrNull(invocation.MethodInvocationTarget);
            if (disableFiltersAttr != null)
            {
                List<string> filterNames= disableFiltersAttr.FilterNames.Select(filterName => filterName.ToString()).ToList();
                _unitOfWork.DisableFilters(filterNames.ToArray());
            }
            //MethodInfo method = invocation.Method;
            invocation.Proceed();
            //if (Attribute.IsDefined(method, typeof (NoUnitOfWorkAttribute)))
            //{
            //    return;
            //}
            //if (invocation.Method.IsDefined(typeof(NoUnitOfWorkAttribute), true))
            //{
            //    return;
            //}
            var unitOfWorkAttr = GetNoUnitOfWorkAttributeOrNull(invocation.MethodInvocationTarget);
            if (unitOfWorkAttr != null)
            {
                return;
            }
            _unitOfWork.Commit();
        }