예제 #1
0
        public void Init(IServiceProvider serviceProvider)
        {
            var sender = (INotifySender)serviceProvider.GetService(System.Type.GetType(Type, true));

            sender.Init(Properties);
            NotifySender = sender;
        }
예제 #2
0
        public void Init()
        {
            var sender = (INotifySender)Activator.CreateInstance(System.Type.GetType(Type, true));

            sender.Init(Properties);
            NotifySender = sender;
        }
예제 #3
0
        private IStep CreateSendNotifyStepWithSender(INotifySender sender)
        {
            var stubProvider = new Mock <INotifySenderProvider>();

            stubProvider.Setup(p => p.GetNotifySender(It.IsAny <string>())).Returns(sender);

            return(new SendNotifyMessageStep(stubProvider.Object, GetDataStoreContext));
        }
예제 #4
0
        public EmailSenderSink(INotifySender sender)
        {
            if (sender == null)
            {
                throw new ArgumentNullException("sender");
            }

            this.sender = sender;
        }
        public void NotifySenderUsesDefaultChannelForSegement()
        {
            INotifySender sender = Substitute.For <INotifySender>();
            var           msg    = new NetworkPingMessage();
            object        token  = new object();

            sender.SendNotify(msg, token);
            sender.Received(1).SendNotify(msg, token, Channel.Unreliable);
        }
예제 #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ReliableSender"/> class.
        /// </summary>
        /// <param name="notifySender"></param>
        public ReliableSender(INotifySender notifySender)
        {
            if (notifySender == null)
            {
                throw new ArgumentNullException(nameof(notifySender));
            }

            InnerNotifySender = notifySender;
        }
        private async Task <SendResult> SendNotifyMessageAsync(Method notifyMethod, NotifyMessageEnvelope notifyMessage)
        {
            INotifySender sender = _provider.GetNotifySender(notifyMethod.Type);

            if (sender == null)
            {
                throw new ArgumentNullException(
                          nameof(sender),
                          $@"No {nameof(INotifySender)} found for NotifyMethod.Type = {notifyMethod.Type}");
            }

            sender.Configure(notifyMethod);
            Task <SendResult> sendAsync = sender.SendAsync(notifyMessage);

            if (sendAsync == null)
            {
                throw new ArgumentNullException(
                          nameof(sendAsync),
                          $@"{sender.GetType().Name} returns 'null' for sending NotifyMessage");
            }

            return(await sendAsync.ConfigureAwait(false));
        }
예제 #8
0
 public EmailSenderSink(INotifySender sender, IServiceProvider serviceProvider, IOptionsMonitor <ILog> options)
 {
     this.sender     = sender ?? throw new ArgumentNullException("sender");
     ServiceProvider = serviceProvider;
     Log             = options.Get("ASC.Notify");
 }
예제 #9
0
        public JabberSenderSink(INotifySender sender)
        {
            if (sender == null) throw new ArgumentNullException("sender");

            this.sender = sender;
        }
예제 #10
0
 public JabberSenderSink(INotifySender sender, IServiceProvider serviceProvider)
 {
     this.sender     = sender ?? throw new ArgumentNullException("sender");
     ServiceProvider = serviceProvider;
 }
예제 #11
0
 public Members(INotifySender sender)
 {
     this.sender = sender;
 }
예제 #12
0
 public JabberSenderSink(INotifySender sender)
 {
     this.sender = sender ?? throw new ArgumentNullException("sender");
 }