aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Configuration/NotificationOptions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Configuration/NotificationOptions.cs')
-rw-r--r--MediaBrowser.Model/Configuration/NotificationOptions.cs90
1 files changed, 9 insertions, 81 deletions
diff --git a/MediaBrowser.Model/Configuration/NotificationOptions.cs b/MediaBrowser.Model/Configuration/NotificationOptions.cs
index fedc1c2f8..d6517e895 100644
--- a/MediaBrowser.Model/Configuration/NotificationOptions.cs
+++ b/MediaBrowser.Model/Configuration/NotificationOptions.cs
@@ -70,19 +70,23 @@ namespace MediaBrowser.Model.Configuration
public NotificationOption GetOptions(string type)
{
- return Options.FirstOrDefault(i => string.Equals(type, i.Type, StringComparison.OrdinalIgnoreCase));
+ foreach (NotificationOption i in Options)
+ {
+ if (string.Equals(type, i.Type, StringComparison.OrdinalIgnoreCase)) return i;
+ }
+ return null;
}
public bool IsEnabled(string type)
{
- var opt = GetOptions(type);
+ NotificationOption opt = GetOptions(type);
return opt != null && opt.Enabled;
}
public bool IsServiceEnabled(string service, string notificationType)
{
- var opt = GetOptions(notificationType);
+ NotificationOption opt = GetOptions(notificationType);
return opt == null ||
!opt.DisabledServices.Contains(service, StringComparer.OrdinalIgnoreCase);
@@ -90,7 +94,7 @@ namespace MediaBrowser.Model.Configuration
public bool IsEnabledToMonitorUser(string type, string userId)
{
- var opt = GetOptions(type);
+ NotificationOption opt = GetOptions(type);
return opt != null && opt.Enabled &&
!opt.DisabledMonitorUsers.Contains(userId, StringComparer.OrdinalIgnoreCase);
@@ -98,7 +102,7 @@ namespace MediaBrowser.Model.Configuration
public bool IsEnabledToSendToUser(string type, string userId, UserConfiguration userConfig)
{
- var opt = GetOptions(type);
+ NotificationOption opt = GetOptions(type);
if (opt != null && opt.Enabled)
{
@@ -118,80 +122,4 @@ namespace MediaBrowser.Model.Configuration
return false;
}
}
-
- public class NotificationOption
- {
- public string Type { get; set; }
-
- /// <summary>
- /// User Ids to not monitor (it's opt out)
- /// </summary>
- public string[] DisabledMonitorUsers { get; set; }
-
- /// <summary>
- /// User Ids to send to (if SendToUserMode == Custom)
- /// </summary>
- public string[] SendToUsers { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this <see cref="NotificationOption"/> is enabled.
- /// </summary>
- /// <value><c>true</c> if enabled; otherwise, <c>false</c>.</value>
- public bool Enabled { get; set; }
-
- /// <summary>
- /// Gets or sets the title format string.
- /// </summary>
- /// <value>The title format string.</value>
- public string Title { get; set; }
-
- /// <summary>
- /// Gets or sets the description.
- /// </summary>
- /// <value>The description.</value>
- public string Description { get; set; }
-
- /// <summary>
- /// Gets or sets the disabled services.
- /// </summary>
- /// <value>The disabled services.</value>
- public string[] DisabledServices { get; set; }
-
- /// <summary>
- /// Gets or sets the send to user mode.
- /// </summary>
- /// <value>The send to user mode.</value>
- public SendToUserType SendToUserMode { get; set; }
-
- public NotificationOption()
- {
- DisabledServices = new string[] { };
- DisabledMonitorUsers = new string[] { };
- SendToUsers = new string[] { };
- }
- }
-
- public enum NotificationType
- {
- ApplicationUpdateAvailable,
- ApplicationUpdateInstalled,
- AudioPlayback,
- GamePlayback,
- InstallationFailed,
- PluginError,
- PluginInstalled,
- PluginUpdateInstalled,
- PluginUninstalled,
- NewLibraryContent,
- ServerRestartRequired,
- TaskFailed,
- VideoPlayback
- }
-
- public enum SendToUserType
- {
- All = 0,
- Admins = 1,
- Custom = 2
- }
}