public static void SetRadarr(MoviesSettings movieSettings, RadarrSettingsModel radarrSettings)
        {
            SettingsFile.Write(settings =>
            {
                settings.DownloadClients.Radarr.Hostname = radarrSettings.Hostname;
                settings.DownloadClients.Radarr.Port     = radarrSettings.Port;
                settings.DownloadClients.Radarr.ApiKey   = radarrSettings.ApiKey;
                settings.DownloadClients.Radarr.BaseUrl  = radarrSettings.BaseUrl;

                settings.DownloadClients.Radarr.MovieProfileId           = radarrSettings.MovieProfile;
                settings.DownloadClients.Radarr.MovieRootFolder          = radarrSettings.MoviePath;
                settings.DownloadClients.Radarr.MovieMinimumAvailability = radarrSettings.MovieMinAvailability;
                settings.DownloadClients.Radarr.MovieTags = JToken.FromObject(radarrSettings.MovieTags);

                settings.DownloadClients.Radarr.AnimeProfileId           = radarrSettings.AnimeProfile;
                settings.DownloadClients.Radarr.AnimeRootFolder          = radarrSettings.AnimePath;
                settings.DownloadClients.Radarr.AnimeMinimumAvailability = radarrSettings.AnimeMinAvailability;
                settings.DownloadClients.Radarr.AnimeTags = JToken.FromObject(radarrSettings.AnimeTags);

                settings.DownloadClients.Radarr.SearchNewRequests  = radarrSettings.SearchNewRequests;
                settings.DownloadClients.Radarr.MonitorNewRequests = radarrSettings.MonitorNewRequests;

                settings.DownloadClients.Radarr.UseSSL  = radarrSettings.UseSSL;
                settings.DownloadClients.Radarr.Version = radarrSettings.Version;

                if (settings.Movies.Client != movieSettings.Client)
                {
                    NotificationsFile.ClearAllMovieNotifications();
                }

                SetMovieSettings(movieSettings, settings);
            });
        }
예제 #2
0
        public static void SetRadarr(MoviesSettings movieSettings, RadarrSettingsModel radarrSettings)
        {
            SettingsFile.Write(settings =>
            {
                settings.DownloadClients.Radarr.Hostname = radarrSettings.Hostname;
                settings.DownloadClients.Radarr.Port     = radarrSettings.Port;
                settings.DownloadClients.Radarr.ApiKey   = radarrSettings.ApiKey;
                settings.DownloadClients.Radarr.BaseUrl  = radarrSettings.BaseUrl;

                settings.DownloadClients.Radarr.Categories = JToken.FromObject(radarrSettings.Categories.Select(x => new RadarrCategory
                {
                    Id   = x.Id,
                    Name = x.Name,
                    MinimumAvailability = x.MinimumAvailability,
                    ProfileId           = x.ProfileId,
                    RootFolder          = x.RootFolder,
                    Tags = x.Tags
                }).ToArray());

                settings.DownloadClients.Radarr.SearchNewRequests  = radarrSettings.SearchNewRequests;
                settings.DownloadClients.Radarr.MonitorNewRequests = radarrSettings.MonitorNewRequests;

                settings.DownloadClients.Radarr.UseSSL  = radarrSettings.UseSSL;
                settings.DownloadClients.Radarr.Version = radarrSettings.Version;

                if (settings.Movies.Client != movieSettings.Client)
                {
                    NotificationsFile.ClearAllMovieNotifications();
                }

                SetMovieSettings(movieSettings, settings);
            });
        }
예제 #3
0
 public static void SetDisabledClient(TvShowsSettings tvShowsSettings)
 {
     SettingsFile.Write(settings =>
     {
         NotificationsFile.ClearAllTvShowNotifications();
         settings.TvShows.Client = tvShowsSettings.Client;
     });
 }
예제 #4
0
 public static void SetDisabledClient(MoviesSettings movieSettings)
 {
     SettingsFile.Write(settings =>
     {
         NotificationsFile.ClearAllMovieNotifications();
         settings.Movies.Client = movieSettings.Client;
     });
 }
예제 #5
0
        private static void SetMovieSettings(MoviesSettings movieSettings, dynamic settings)
        {
            if (settings.Movies.Client != movieSettings.Client)
            {
                NotificationsFile.ClearAllMovieNotifications();
            }

            settings.Movies.Client = movieSettings.Client;
        }
 public void RemoveNotification(string userId, int movieId)
 {
     lock (_lock)
     {
         if (_notifications.Remove(new Notification(userId, movieId)))
         {
             NotificationsFile.WriteMovies(_notifications.GroupBy(x => x.UserId).ToDictionary(x => x.Key, x => x.Select(n => n.MovieId).ToArray()));
         }
     }
 }
 public MovieNotificationsRepository()
 {
     foreach (var notif in NotificationsFile.Read().Movies)
     {
         foreach (var movieId in notif.MovieIds)
         {
             _notifications.Add(new Notification(notif.UserId.ToString(), (int)movieId));
         }
     }
 }
예제 #8
0
        private static void SetTvShowSettings(TvShowsSettings tvSettings, dynamic settings)
        {
            if (settings.TvShows.Client != tvSettings.Client)
            {
                NotificationsFile.ClearAllTvShowNotifications();
            }

            settings.TvShows.Client       = tvSettings.Client;
            settings.TvShows.Restrictions = tvSettings.Restrictions;
        }
예제 #9
0
 public TvShowNotificationsRepository()
 {
     foreach (var userNotif in NotificationsFile.Read().TvShows)
     {
         foreach (var tvNotif in userNotif.Notifications)
         {
             if ((int)tvNotif.IsPermanent != 0)
             {
                 _notifications.Add(new FutureSeasonsNotification(userNotif.UserId.ToString(), (int)tvNotif.TvShowId, (int)tvNotif.SeasonNumber));
             }
             else
             {
                 _notifications.Add(new SeasonNotification(userNotif.UserId.ToString(), (int)tvNotif.TvShowId, (int)tvNotif.SeasonNumber));
             }
         }
     }
 }
예제 #10
0
 private void WriteTvShowsNotifications()
 {
     NotificationsFile.WriteTvShows(_notifications.GroupBy(x => x.UserId).ToDictionary(x => x.Key, x => x.Select(n => n).ToArray()));
 }