/// <summary> /// The engine /// </summary> /// <param name="message"></param> /// <param name="alertType"></param> /// <param name="messageBoxButton"></param> private MessageBoxResult Display(String message, AlertMessageBoxType alertType, MessageBoxButton messageBoxButton) { //Only show this dialog if this type has not shown for last 30 seconds. This is to prevent multiple //threads from popping up the same error. if (alertType != AlertMessageBoxType.General && alertType == currentAlertType) { if ((DateTime.Now - lastDispayTime).Seconds < MinimumSeconds) { return(MessageBoxResult.None); } } //Show only one message box at a time. Block until all the other alerts are done. lock (showMessageBox) { //Start locking all the other threads. showMessageBox.Reset(); currentAlertType = alertType; } if (String.IsNullOrEmpty(message)) { message = alertType.GetDescription <AlertMessageBoxType>(); } MessageBoxResult result = MessageBoxResult.None; //Sanity Check. Don't show empty message boxes. if (String.IsNullOrEmpty(message) == false) { lastDispayTime = DateTime.Now; result = MessageBox.Show(message, Application.Current.MainWindow.Title, messageBoxButton, MessageBoxImage.Error); } else { Debug.Assert(false, "Empty alert message. Please fix!"); } showMessageBox.Set(); return(result); }
/// <summary> /// Show messagebox if not already showing /// </summary> /// <param name="message"></param> /// <param name="alertType"></param> /// <param name="messageBoxButtons"></param> public MessageBoxResult Show(String message, AlertMessageBoxType alertType, MessageBoxButton messageBoxButtons) { return(Display(message, alertType, messageBoxButtons)); }
/// <summary> /// Show messagebox if not already showing /// </summary> /// <param name="message"></param> /// <param name="alertType"></param> public void Show(String message, AlertMessageBoxType alertType) { Display(message, alertType); }
/// <summary> /// Show MessageBox if appropriate of alertType /// </summary> /// <param name="alertType"></param> public void Show(AlertMessageBoxType alertType) { Display(String.Empty, alertType); }
/// <summary> /// /// </summary> /// <param name="message"></param> /// <param name="alertType"></param> private void Display(String message, AlertMessageBoxType alertType) { Display(message, alertType, MessageBoxButton.OK); }