public static void ShowCallout(this ICalloutManager calloutManager, string name, Func <ICallout, bool> predicate = null) { Argument.IsNotNull(() => calloutManager); if (calloutManager.IsSuspended) { Log.Debug($"Callout manager is currently suspended, cannot show callout with name '{name}'"); return; } var callout = FindCallout(calloutManager, name); if (callout is null) { Log.Debug($"Callout with name '{name}' is not found"); return; } if (predicate is not null) { if (!predicate(callout)) { return; } } Log.Debug($"Showing callout '{callout}'"); callout.Show(); }
public TimeBasedCalloutWatcherBase(ICalloutManager calloutManager, IConfigurationService configurationService) : base(calloutManager, configurationService) { Start = DateTime.MaxValue; _dispatcherTimer.Tick += OnDispatcherTimerTick; Subscribe(_calloutManager); }
public static IDisposable SuspendInScope(this ICalloutManager calloutManager) { Argument.IsNotNull(() => calloutManager); return(new DisposableToken <ICalloutManager>(calloutManager, x => x.Instance.Suspend(), x => x.Instance.Resume())); }
public static void HideAllCallouts(this ICalloutManager calloutManager) { Argument.IsNotNull(() => calloutManager); Log.Debug("Hiding all callouts"); calloutManager.Callouts.ForEach(x => x.Hide()); }
public CalloutViewModel(ICalloutManager calloutManager) { Argument.IsNotNull(() => calloutManager); CalloutManager = calloutManager; OpenCallout = new TaskCommand <object>(OpenCalloutExecuteAsync); ToggleShowRepeatedly = new TaskCommand(OnShowRepeatedlyExecuteAsync); }
public CalloutWatcherBase(ICalloutManager calloutManager, IConfigurationService configurationService) { Argument.IsNotNull(() => calloutManager); Argument.IsNotNull(() => configurationService); _calloutManager = calloutManager; _configurationService = configurationService; IsOneTimeCallout = true; }
public static void ShowAllCallouts(this ICalloutManager calloutManager) { Argument.IsNotNull(() => calloutManager); if (calloutManager.IsSuspended) { Log.Debug($"Callout manager is currently suspended, cannot show all callouts"); return; } Log.Debug("Showing all callouts"); calloutManager.Callouts.Where(x => !x.HasShown).ForEach(x => x.Show()); }
public CalloutViewModel(ICalloutManager calloutManager, IDispatcherService dispatcherService) { Argument.IsNotNull(() => calloutManager); Argument.IsNotNull(() => dispatcherService); _calloutManager = calloutManager; _dispatcherService = dispatcherService; Id = Guid.NewGuid(); PauseTimer = new Command(OnPauseTimerExecute); ResumeTimer = new Command(OnResumeTimerExecute); ClosePopup = new Command(OnClosePopupExecute); }
protected virtual void Subscribe(ICalloutManager calloutManager) { Argument.IsNotNull(() => calloutManager); var callout = Callout; if (callout is not null) { Start = DateTime.Now; return; } Log.Debug($"Callout is not yet registered, subscribing to ICalloutManager.Registered event"); calloutManager.Registered += OnCalloutManagerRegistered; }
public static void HideCallout(this ICalloutManager calloutManager, string name) { Argument.IsNotNull(() => calloutManager); var callout = FindCallout(calloutManager, name); if (callout is null) { Log.Debug($"Callout with name '{name}' is not found"); return; } Log.Debug($"Hiding callout '{callout}'"); callout.Hide(); }
public static bool IsAnyCalloutOpen(this ICalloutManager calloutManager) { Argument.IsNotNull(() => calloutManager); return(calloutManager.Callouts.Any(x => x.IsOpen)); }
public static ICallout FindCallout(this ICalloutManager calloutManager, string name) { Argument.IsNotNull(() => calloutManager); return(calloutManager.Callouts.FirstOrDefault(x => x.Name == name)); }
public static ICallout FindCallout(this ICalloutManager calloutManager, Guid id) { Argument.IsNotNull(() => calloutManager); return(calloutManager.Callouts.FirstOrDefault(x => x.Id == id)); }
public ShowCalloutAtStartupWatcher(ICalloutManager calloutManager, IConfigurationService configurationService) : base(calloutManager, configurationService) { Name = "ExampleCallout"; IsOneTimeCallout = false; }