public virtual void ShowAlert(AlertNotificationArgs args)
{
var icon = _alertContext.GetIcon(args.Level).CreateIcon(IconSize.Large, new ResourceResolver(typeof(DesktopWindow).Assembly)); ;
if (args.Level == AlertLevel.Info)
{
var dialog = _infoNotificationDialog;
dialog.OpenLogLinkText = SR.LinkViewAllAlerts;
dialog.AlertIcon = icon;
dialog.Message = args.Message;
dialog.LinkText = args.LinkText ?? "";
dialog.LinkHandler = AlertLinkHandler(args.LinkAction);
dialog.DismissOnLinkClicked = args.DismissOnLinkClicked;
dialog.Popup(_errorNotificationDialog.Visible ? 1 : 0);
}
else
{
// both errors and warnings use the _errorNotificationDialog instance
var dialog = _errorNotificationDialog;
// update the un-acknowledged count
var c = _alertContext.UnacknowledgedErrorWarningCount;
dialog.OpenLogLinkText = c > 1 ? string.Format(SR.LinkMoreNewAlerts, c - 1) : SR.LinkViewAllAlerts;
// if the dialog is already visible with an error, do not overwrite it with a warning (lower severity)
if (args.Level == AlertLevel.Error || !_errorNotificationDialog.Visible)
{
dialog.AlertIcon = icon;
dialog.Message = args.Message;
dialog.LinkText = args.LinkText ?? "";
dialog.LinkHandler = AlertLinkHandler(args.LinkAction);
dialog.DismissOnLinkClicked = args.DismissOnLinkClicked;
dialog.Popup(0);
}
}
}