private static void InnerPublish <TNotification>(IPublisherSubscriber publisherSubscriber, string title, string message, string error, int actualStep, int totalSteps, ILogger log) where TNotification : ProgressiveTaskNotification, new() { var notification = new TNotification(); log = log ?? NullLogger.Instance; if (title != null) { notification.Arguments.Title = title; } if (message != null) { notification.Arguments.Message = message; } if (error != null) { log.Error(error); } if (actualStep > -1) { notification.Arguments.ActualStep = actualStep; } if (totalSteps > -1) { notification.Arguments.TotalSteps = totalSteps; } notification.Arguments.Error = error; publisherSubscriber.Publish(notification); }
public static void RegisterInstance(IPublisherSubscriber instance) { lock ( _lockObj ) { Instance = instance; } }
public Bootstrapper(IEnumerable <IAction> actions, IPublisherSubscriber publisherSubscriber) { Prevent.ParameterNull(actions, nameof(actions)); _actions = actions; _publisherSubscriber = publisherSubscriber; }
public SplashScreenForm(IPublisherSubscriber publisherSubscriber) { Prevent.ParameterNull(publisherSubscriber, nameof(publisherSubscriber)); _publisherSubscriber = publisherSubscriber; InitializeComponent(); }
/// <summary> /// Initializes a new instance of <see cref="Subscription{TMessage}"/>. /// </summary> /// <param name="handler">The message handler.</param> /// <param name="pubSub">The publisher/subscriber.</param> public Subscription(Action <TMessage> handler, IPublisherSubscriber pubSub) { Prevent.ParameterNull(handler, nameof(handler)); Prevent.ParameterNull(pubSub, nameof(pubSub)); _methodInfo = handler.GetMethodInfo(); _pubSub = pubSub; _targetObject = new WeakReference(handler.Target); _isStatic = handler.Target == null; }
public DocumentDirectoryForm(CancellationTokenIssuer cancellationTokenIssuer, IMediator mediator, IPublisherSubscriber publisherSubscriber) { Prevent.ParameterNull(cancellationTokenIssuer, nameof(cancellationTokenIssuer)); Prevent.ParameterNull(mediator, nameof(mediator)); Prevent.ParameterNull(publisherSubscriber, nameof(publisherSubscriber)); _cancellationTokenIssuer = cancellationTokenIssuer; _mediator = mediator; _publisherSubscriber = publisherSubscriber; InitializeComponent(); }
public static void TaskContinuation(this IPublisherSubscriber source, Task continuation, object state) { if (source == null) { return; } if (continuation == null) { return; } if (state == null) { return; } var error = string.Empty; var info = (state as ProgressiveTaskContinuationInfo) ?? new ProgressiveTaskContinuationInfo(); var ex = continuation.Exception as AggregateException; if (ex != null) { var stringBuilder = new StringBuilder(); foreach (var exception in ex.InnerExceptions) { stringBuilder.AppendLine(exception.Message); } error = stringBuilder.ToString(); source.ProgressiveTaskError(error: error, actualStep: info.ActualStep, totalSteps: info.TotalSteps, log: info.Log); return; } if (continuation.IsCanceled) { source.ProgressiveTaskCancel(actualStep: info.ActualStep, totalSteps: info.TotalSteps, log: info.Log); return; } source.ProgressiveTaskComplete(error: error, actualStep: info.ActualStep, totalSteps: info.TotalSteps, log: info.Log); }
public static void ProgressiveTaskError(this IPublisherSubscriber source, string error, string title = null, string message = null, int actualStep = 0, int totalSteps = 0, ILogger log = null) { InnerPublish <ProgressiveTaskErrorNotification>(source, title, message, null, actualStep, totalSteps, log); }