/// <summary> /// Notifies all clients of the supplied relaxed policy.Debugrmation. /// </summary> /// <param name="numPoliciesAvailable"> /// The number of relaxed policy uses available. /// </param> /// <param name="policyDuration"> /// The duration of the relaxed policies. /// </param> /// <param name="isActive"> /// Whether or not the relaxed policy is currently active. /// </param> /// <param name="command"> /// The relaxed policy command which caused this notification to happen. /// If == RelaxedPolicyCommand.Info, ignore. /// </param> public void NotifyRelaxedPolicyChange(int numPoliciesAvailable, TimeSpan policyDuration, RelaxedPolicyStatus status, string bypassMessage = null) { var nfo = new RelaxedPolicyInfo(policyDuration, numPoliciesAvailable, status); var msg = new RelaxedPolicyMessage(RelaxedPolicyCommand.Info, null, bypassMessage, nfo); PushMessage(msg); }
private void ShowRelaxedPolicyMessage(RelaxedPolicyMessage msg, bool fromTray) { string title = "Relaxed Policy"; string message = ""; switch (msg.PolicyInfo.Status) { case RelaxedPolicyStatus.Activated: message = null; break; case RelaxedPolicyStatus.Granted: message = "Relaxed Policy Granted"; break; case RelaxedPolicyStatus.AllUsed: message = "All of your relaxed policies are used up for today."; break; case RelaxedPolicyStatus.AlreadyRelinquished: message = "Relaxed policy not currently active."; break; case RelaxedPolicyStatus.Deactivated: message = null; break; case RelaxedPolicyStatus.Relinquished: message = null; break; default: message = null; break; } if (fromTray) { if (message != null) { app.TrayIconController.ShowNotification(title, message); } } else { Device.BeginInvokeOnMainThread(() => { if (message != null) { // TODO: ShowUserMessage modal. } }); } }
private void ShowRelaxedPolicyMessage(RelaxedPolicyMessage msg, bool fromTray) { string title = "Relaxed Policy"; string message = ""; switch (msg.PolicyInfo.Status) { case RelaxedPolicyStatus.Activated: message = null; break; case RelaxedPolicyStatus.Granted: message = "Relaxed Policy Granted"; break; case RelaxedPolicyStatus.AllUsed: message = "All of your relaxed policies are used up for today."; break; case RelaxedPolicyStatus.AlreadyRelinquished: message = "Relaxed policy not currently active."; break; case RelaxedPolicyStatus.Deactivated: message = null; break; case RelaxedPolicyStatus.Relinquished: message = null; break; default: message = null; break; } if (fromTray) { if (message != null) { m_trayIcon.ShowBalloonTip(3000, title, message, System.Windows.Forms.ToolTipIcon.Info); } } else { Dispatcher.InvokeAsync(() => { if (message != null) { m_mainWindow.ShowUserMessage(title, message, "OK"); } }); } }
public void RelaxedPolicyInfoReceived(RelaxedPolicyMessage args) { Device.BeginInvokeOnMainThread(() => { var viewModel = app.ModelManager.GetModel <RelaxedPolicyViewModel>(); if (viewModel != null && args.PolicyInfo != null) { viewModel.AvailableRelaxedRequests = args.PolicyInfo.NumberAvailableToday; viewModel.RelaxedDuration = new DateTime(args.PolicyInfo.RelaxDuration.Ticks).ToString("HH:mm"); viewModel.RelaxedPolicyRequested -= OnRelaxedPolicyRequested; viewModel.RelaxedPolicyRequested += OnRelaxedPolicyRequested; viewModel.RelinquishRelaxedPolicyRequested -= OnRelinquishRelaxedPolicyRequested; viewModel.RelinquishRelaxedPolicyRequested += OnRelinquishRelaxedPolicyRequested; } }); }
public void RelinquishRelaxedPolicy() { var msg = new RelaxedPolicyMessage(RelaxedPolicyCommand.Relinquished); PushMessage(msg); }
public void RequestRelaxedPolicy() { var msg = new RelaxedPolicyMessage(RelaxedPolicyCommand.Requested); PushMessage(msg); }
/// <summary> /// Constructs a new RelaxedPolicyEventArgs from the given client message. /// </summary> /// <param name="msg"> /// The client message. /// </param> public RelaxedPolicyEventArgs(RelaxedPolicyMessage msg) : this(msg.Command, msg.Passcode) { }
public void RequestRelaxedPolicy(string passcode) { var msg = new RelaxedPolicyMessage(RelaxedPolicyCommand.Requested, passcode); PushMessage(msg); }
/// <summary> /// Constructs a new RelaxedPolicyEventArgs from the given client message. /// </summary> /// <param name="msg"> /// The client message. /// </param> public RelaxedPolicyEventArgs(RelaxedPolicyMessage msg) { Command = msg.Command; }