72 lines
2.5 KiB
C#
72 lines
2.5 KiB
C#
|
|
using System.Linq;
|
|
using Umbraco.Core;
|
|
|
|
namespace Umbraco.Web.Models.ContentEditing
|
|
{
|
|
public static class MessagesExtensions
|
|
{
|
|
public static void AddNotification(this INotificationModel model, string header, string msg, NotificationStyle type)
|
|
{
|
|
if (model.Exists(header, msg, type)) return;
|
|
|
|
model.Notifications.Add(new Notification()
|
|
{
|
|
Header = header,
|
|
Message = msg,
|
|
NotificationType = type
|
|
});
|
|
}
|
|
|
|
public static void AddSuccessNotification(this INotificationModel model, string header, string msg)
|
|
{
|
|
if (model.Exists(header, msg, NotificationStyle.Success)) return;
|
|
|
|
model.Notifications.Add(new Notification()
|
|
{
|
|
Header = header,
|
|
Message = msg,
|
|
NotificationType = NotificationStyle.Success
|
|
});
|
|
}
|
|
|
|
public static void AddErrorNotification(this INotificationModel model, string header, string msg)
|
|
{
|
|
if (model.Exists(header, msg, NotificationStyle.Error)) return;
|
|
|
|
model.Notifications.Add(new Notification()
|
|
{
|
|
Header = header,
|
|
Message = msg,
|
|
NotificationType = NotificationStyle.Error
|
|
});
|
|
}
|
|
|
|
public static void AddWarningNotification(this INotificationModel model, string header, string msg)
|
|
{
|
|
if (model.Exists(header, msg, NotificationStyle.Warning)) return;
|
|
|
|
model.Notifications.Add(new Notification()
|
|
{
|
|
Header = header,
|
|
Message = msg,
|
|
NotificationType = NotificationStyle.Warning
|
|
});
|
|
}
|
|
|
|
public static void AddInfoNotification(this INotificationModel model, string header, string msg)
|
|
{
|
|
if (model.Exists(header, msg, NotificationStyle.Info)) return;
|
|
|
|
model.Notifications.Add(new Notification()
|
|
{
|
|
Header = header,
|
|
Message = msg,
|
|
NotificationType = NotificationStyle.Info
|
|
});
|
|
}
|
|
|
|
private static bool Exists(this INotificationModel model, string header, string message, NotificationStyle notificationType) => model.Notifications.Any(x => x.Header.InvariantEquals(header) && x.Message.InvariantEquals(message) && x.NotificationType == notificationType);
|
|
}
|
|
}
|