public SendInterceptorSkeleton(string name, InterceptorPlace preventPlace, InterceptorLifetime lifetime, Func<NotifyRequest, InterceptorPlace, bool> sendInterceptor)
        {
            if (String.IsNullOrEmpty("name")) throw new ArgumentNullException("name");
            if (String.IsNullOrEmpty("sendInterceptor")) throw new ArgumentNullException("sendInterceptor");

            method = sendInterceptor;
            Name = name;
            PreventPlace = preventPlace;
            Lifetime = lifetime;
        }
 public bool PreventSend(NotifyRequest request, InterceptorPlace place)
 {
     var sendTo = request.Recipient;
     if (!sendedTo.Exists(rec => Equals(rec, sendTo)))
     {
         sendedTo.Add(sendTo);
         return false;
     }
     return true;
 }
        public bool PreventSend(NotifyRequest request, InterceptorPlace place)
        {
            var sendTo = request.Recipient;

            if (!sendedTo.Exists(rec => Equals(rec, sendTo)))
            {
                sendedTo.Add(sendTo);
                return(false);
            }
            return(true);
        }
Пример #4
0
        public SendInterceptorSkeleton(string name, InterceptorPlace preventPlace, InterceptorLifetime lifetime, Func <NotifyRequest, InterceptorPlace, IServiceScope, bool> sendInterceptor)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Empty name.", "name");
            }
            if (sendInterceptor == null)
            {
                throw new ArgumentNullException("sendInterceptor");
            }

            method       = sendInterceptor;
            Name         = name;
            PreventPlace = preventPlace;
            Lifetime     = lifetime;
        }
Пример #5
0
        internal bool Intercept(InterceptorPlace place)
        {
            var result = false;

            foreach (var interceptor in Interceptors)
            {
                if ((interceptor.PreventPlace & place) == place)
                {
                    try
                    {
                        result = interceptor.PreventSend(this, place) || result;
                    }
                    catch { }
                }
            }
            return(result);
        }
Пример #6
0
 internal bool Intercept(InterceptorPlace place)
 {
     var result = false;
     foreach (var interceptor in Interceptors)
     {
         if ((interceptor.PreventPlace & place) == place)
         {
             try
             {
                 if (interceptor.PreventSend(this, place))
                 {
                     result = true;
                 }
             }
             catch (Exception err)
             {
                 LogManager.GetLogger("ASC.Notify").ErrorFormat("{0} {1} {2}: {3}", interceptor.Name, NotifyAction, Recipient, err);
             }
         }
     }
     return result;
 }
Пример #7
0
        internal bool Intercept(InterceptorPlace place)
        {
            var result = false;

            foreach (var interceptor in Interceptors)
            {
                if ((interceptor.PreventPlace & place) == place)
                {
                    try
                    {
                        if (interceptor.PreventSend(this, place))
                        {
                            result = true;
                        }
                    }
                    catch (Exception err)
                    {
                        LogManager.GetLogger("ASC.Notify").ErrorFormat("{0} {1} {2}: {3}", interceptor.Name, NotifyAction, Recipient, err);
                    }
                }
            }
            return(result);
        }
Пример #8
0
        internal bool Intercept(InterceptorPlace place, IServiceScope serviceScope)
        {
            var result = false;

            foreach (var interceptor in Interceptors)
            {
                if ((interceptor.PreventPlace & place) == place)
                {
                    try
                    {
                        if (interceptor.PreventSend(this, place, serviceScope))
                        {
                            result = true;
                        }
                    }
                    catch (Exception err)
                    {
                        serviceScope.ServiceProvider.GetService <IOptionsMonitor <ILog> >().Get("ASC.Notify").ErrorFormat("{0} {1} {2}: {3}", interceptor.Name, NotifyAction, Recipient, err);
                    }
                }
            }
            return(result);
        }
Пример #9
0
 public bool PreventSend(NotifyRequest request, InterceptorPlace place, IServiceScope serviceScope)
 {
     return(method(request, place, serviceScope));
 }
 public bool PreventSend(NotifyRequest request, InterceptorPlace place)
 {
     return method(request, place);
 }
Пример #11
0
 private SendResponse CheckPreventInterceptors(NotifyRequest request, InterceptorPlace place, string sender)
 {
     return(request.Intercept(place) ? new SendResponse(request.NotifyAction, sender, request.Recipient, SendResult.Prevented) : null);
 }
Пример #12
0
 public bool PreventSend(NotifyRequest request, InterceptorPlace place)
 {
     return(method(request, place));
 }
Пример #13
0
 private SendResponse CheckPreventInterceptors(NotifyRequest request, InterceptorPlace place, string sender)
 {
     return request.Intercept(place) ? new SendResponse(request.NotifyAction, sender, request.Recipient, SendResult.Prevented) : null;
 }