TraktPlugin.TraktSettings.SaveSettings C# (CSharp) Méthode

SaveSettings() static private méthode

Saves the Settings
static private SaveSettings ( bool savePersistedCache = true ) : void
savePersistedCache bool
Résultat void
        internal static void SaveSettings(bool savePersistedCache = true)
        {
            TraktLogger.Info("Saving settings");
            using (Settings xmlwriter = new MPSettings())
            {
                xmlwriter.SetValue(cTrakt, cSettingsVersion, SettingsVersion);
                xmlwriter.SetValue(cTrakt, cUsername, Username);
                xmlwriter.SetValue(cTrakt, cPassword, Password.Encrypt(cGuid + (UseCompNameOnPassKey ? System.Environment.MachineName : string.Empty)));
                xmlwriter.SetValue(cTrakt, cUserLogins, UserLogins.Encrypt(cGuid + (UseCompNameOnPassKey ? System.Environment.MachineName : string.Empty)).ToJSON());
                xmlwriter.SetValue(cTrakt, cMovingPictures, MovingPictures);
                xmlwriter.SetValue(cTrakt, cTVSeries, TVSeries);
                xmlwriter.SetValue(cTrakt, cMyVideos, MyVideos);
                xmlwriter.SetValue(cTrakt, cMyFilms, MyFilms);
                xmlwriter.SetValue(cTrakt, cOnlineVideos, OnlineVideos);
                xmlwriter.SetValue(cTrakt, cMyTVRecordings, MyTVRecordings);
                xmlwriter.SetValue(cTrakt, cMyTVLive, MyTVLive);
                xmlwriter.SetValue(cTrakt, cArgusRecordings, ArgusRecordings);
                xmlwriter.SetValue(cTrakt, cArgusTVLive, ArgusTVLive);
                xmlwriter.SetValueAsBool(cTrakt, cKeepTraktLibraryClean, KeepTraktLibraryClean);
                xmlwriter.SetValue(cTrakt, cBlockedFilenames, BlockedFilenames.ToJSON());
                xmlwriter.SetValue(cTrakt, cBlockedFolders, BlockedFolders.ToJSON());
                //TODOxmlwriter.SetValue(cTrakt, cSkippedMovies, SkippedMovies.ToJSON());
                //TODOxmlwriter.SetValue(cTrakt, cAlreadyExistMovies, AlreadyExistMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSyncTimerLength, SyncTimerLength);
                xmlwriter.SetValue(cTrakt, cSyncStartDelay, SyncStartDelay);
                xmlwriter.SetValue(cTrakt, cTrendingMoviesDefaultLayout, TrendingMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cTrendingShowsDefaultLayout, TrendingShowsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cPopularMoviesDefaultLayout, PopularMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cPopularShowsDefaultLayout, PopularShowsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRecommendedMoviesDefaultLayout, RecommendedMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRecommendedShowsDefaultLayout, RecommendedShowsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cWatchListMoviesDefaultLayout, WatchListMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cWatchListShowsDefaultLayout, WatchListShowsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cWatchListEpisodesDefaultLayout, WatchListEpisodesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRelatedMoviesDefaultLayout, RelatedMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRelatedShowsDefaultLayout, RelatedShowsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cListsDefaultLayout, ListsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cListItemsDefaultLayout, ListItemsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cShowSeasonsDefaultLayout, ShowSeasonsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSeasonEpisodesDefaultLayout, SeasonEpisodesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cDefaultCalendarView, DefaultCalendarView);
                xmlwriter.SetValue(cTrakt, cDefaultCalendarStartDate, DefaultCalendarStartDate);
                xmlwriter.SetValueAsBool(cTrakt, cDownloadFullSizeFanart, DownloadFullSizeFanart);
                xmlwriter.SetValueAsBool(cTrakt, cDownloadFanart, DownloadFanart);
                xmlwriter.SetValue(cTrakt, cWebRequestCacheMinutes, WebRequestCacheMinutes);
                xmlwriter.SetValue(cTrakt, cWebRequestTimeout, WebRequestTimeout);
                xmlwriter.SetValueAsBool(cTrakt, cGetFollowerRequestsOnStartup, GetFollowerRequestsOnStartup);
                xmlwriter.SetValueAsBool(cTrakt, cMovingPicturesCategories, MovingPicturesCategories);
                xmlwriter.SetValueAsBool(cTrakt, cMovingPicturesFilters, MovingPicturesFilters);
                xmlwriter.SetValueAsBool(cTrakt, cCalendarHideTVShowsInWatchList, CalendarHideTVShowsInWatchList);
                xmlwriter.SetValueAsBool(cTrakt, cHideWatchedRelatedMovies, HideWatchedRelatedMovies);
                xmlwriter.SetValueAsBool(cTrakt, cHideWatchedRelatedShows, HideWatchedRelatedShows);
                xmlwriter.SetValueAsBool(cTrakt, cHideSpoilersOnShouts, HideSpoilersOnShouts);
                xmlwriter.SetValueAsBool(cTrakt, cSyncRatings, SyncRatings);
                xmlwriter.SetValueAsBool(cTrakt, cShowRateDialogOnWatched, ShowRateDialogOnWatched);
                xmlwriter.SetValue(cTrakt, cDashboardActivityPollInterval, DashboardActivityPollInterval);
                xmlwriter.SetValue(cTrakt, cDashboardTrendingPollInterval, DashboardTrendingPollInterval);
                xmlwriter.SetValue(cTrakt, cDashboardLoadDelay, DashboardLoadDelay);
                xmlwriter.SetValueAsBool(cTrakt, cDashboardMovieTrendingActive, DashboardMovieTrendingActive);
                xmlwriter.SetValue(cTrakt, cMovieRecommendationGenre, MovieRecommendationGenre);
                xmlwriter.SetValueAsBool(cTrakt, cMovieRecommendationHideCollected, MovieRecommendationHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cMovieRecommendationHideWatchlisted, MovieRecommendationHideWatchlisted);
                xmlwriter.SetValue(cTrakt, cMovieRecommendationStartYear, MovieRecommendationStartYear);
                xmlwriter.SetValue(cTrakt, cMovieRecommendationEndYear, MovieRecommendationEndYear);
                xmlwriter.SetValue(cTrakt, cShowRecommendationGenre, ShowRecommendationGenre);
                xmlwriter.SetValueAsBool(cTrakt, cShowRecommendationHideCollected, ShowRecommendationHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cShowRecommendationHideWatchlisted, ShowRecommendationHideWatchlisted);
                xmlwriter.SetValue(cTrakt, cShowRecommendationStartYear, ShowRecommendationStartYear);
                xmlwriter.SetValue(cTrakt, cShowRecommendationEndYear, ShowRecommendationEndYear);
                xmlwriter.SetValue(cTrakt, cSortByRecommendedMovies, SortByRecommendedMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByRecommendedShows, SortByRecommendedShows.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByTrendingMovies, SortByTrendingMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByTrendingShows, SortByTrendingShows.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByPopularMovies, SortByPopularMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByPopularShows, SortByPopularShows.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByWatchListMovies, SortByWatchListMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByWatchListShows, SortByWatchListShows.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByAnticipatedMovies, SortByAnticipatedMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByAnticipatedShows, SortByAnticipatedShows.ToJSON());
                xmlwriter.SetValueAsBool(cTrakt, cEnableJumpToForTVShows, EnableJumpToForTVShows);
                xmlwriter.SetValueAsBool(cTrakt, cMyFilmsCategories, MyFilmsCategories);
                xmlwriter.SetValueAsBool(cTrakt, cSortSeasonsAscending, SortSeasonsAscending);
                xmlwriter.SetValueAsBool(cTrakt, cRememberLastSelectedActivity, RememberLastSelectedActivity);
                xmlwriter.SetValueAsBool(cTrakt, cShowRateDlgForPlaylists, ShowRateDlgForPlaylists);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingMoviesHideWatched, TrendingMoviesHideWatched);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingMoviesHideWatchlisted, TrendingMoviesHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingMoviesHideCollected, TrendingMoviesHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingMoviesHideRated, TrendingMoviesHideRated);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingShowsHideWatched, TrendingShowsHideWatched);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingShowsHideWatchlisted, TrendingShowsHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingShowsHideCollected, TrendingShowsHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cTrendingShowsHideRated, TrendingShowsHideRated);
                xmlwriter.SetValueAsBool(cTrakt, cPopularMoviesHideWatched, PopularMoviesHideWatched);
                xmlwriter.SetValueAsBool(cTrakt, cPopularMoviesHideWatchlisted, PopularMoviesHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cPopularMoviesHideCollected, PopularMoviesHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cPopularMoviesHideRated, PopularMoviesHideRated);
                xmlwriter.SetValueAsBool(cTrakt, cPopularShowsHideWatched, PopularShowsHideWatched);
                xmlwriter.SetValueAsBool(cTrakt, cPopularShowsHideWatchlisted, PopularShowsHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cPopularShowsHideCollected, PopularShowsHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cPopularShowsHideRated, PopularShowsHideRated);
                xmlwriter.SetValueAsBool(cTrakt, cAnticipatedMoviesHideWatchlisted, AnticipatedMoviesHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cAnticipatedShowsHideWatchlisted, AnticipatedShowsHideWatchlisted);
                xmlwriter.SetValue(cTrakt, cDefaultNetworkView, DefaultNetworkView);
                xmlwriter.SetValue(cTrakt, cRecentWatchedMoviesDefaultLayout, RecentWatchedMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRecentWatchedEpisodesDefaultLayout, RecentWatchedEpisodesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRecentAddedMoviesDefaultLayout, RecentAddedMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cRecentAddedEpisodesDefaultLayout, RecentAddedEpisodesDefaultLayout);
                xmlwriter.SetValueAsBool(cTrakt, cSyncLibrary, SyncLibrary);
                xmlwriter.SetValue(cTrakt, cSearchMoviesDefaultLayout, SearchMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSearchShowsDefaultLayout, SearchShowsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSearchEpisodesDefaultLayout, SearchEpisodesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSearchPeopleDefaultLayout, SearchPeopleDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSearchUsersDefaultLayout, SearchUsersDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSearchTypes, SearchTypes);
                xmlwriter.SetValueAsBool(cTrakt, cShowSearchResultsBreakdown, ShowSearchResultsBreakdown);
                xmlwriter.SetValue(cTrakt, cMaxSearchResults, MaxSearchResults);
                xmlwriter.SetValueAsBool(cTrakt, cFilterTrendingOnDashboard, FilterTrendingOnDashboard);
                xmlwriter.SetValueAsBool(cTrakt, cIgnoreWatchedPercentOnDVD, IgnoreWatchedPercentOnDVD);
                xmlwriter.SetValue(cTrakt, cActivityStreamView, ActivityStreamView);
                xmlwriter.SetValue(cTrakt, cLastSyncActivities, LastSyncActivities.ToJSON());
                xmlwriter.SetValue(cTrakt, cSyncBatchSize, SyncBatchSize);
                xmlwriter.SetValueAsBool(cTrakt, cUseCompNameOnPassKey, UseCompNameOnPassKey);
                xmlwriter.SetValueAsBool(cTrakt, cSyncPlayback, SyncPlayback);
                xmlwriter.SetValue(cTrakt, cSyncResumeDelta, SyncResumeDelta);
                xmlwriter.SetValueAsBool(cTrakt, cSyncPlaybackOnEnterPlugin, SyncPlaybackOnEnterPlugin);
                xmlwriter.SetValue(cTrakt, cSyncPlaybackCacheExpiry, SyncPlaybackCacheExpiry);
                xmlwriter.SetValue(cTrakt, cMaxTrendingMoviesRequest, MaxTrendingMoviesRequest);
                xmlwriter.SetValue(cTrakt, cMaxTrendingShowsRequest, MaxTrendingShowsRequest);
                xmlwriter.SetValue(cTrakt, cMaxPopularMoviesRequest, MaxPopularMoviesRequest);
                xmlwriter.SetValue(cTrakt, cMaxPopularShowsRequest, MaxPopularShowsRequest);
                xmlwriter.SetValue(cTrakt, cMaxAnticipatedMoviesRequest, MaxAnticipatedMoviesRequest);
                xmlwriter.SetValue(cTrakt, cMaxAnticipatedShowsRequest, MaxAnticipatedShowsRequest);
                xmlwriter.SetValueAsBool(cTrakt, cUseSSL, UseSSL);
                xmlwriter.SetValue(cTrakt, cLastListActivities, LastListActivities.ToJSON());
                xmlwriter.SetValue(cTrakt, cMaxRelatedMoviesRequest, MaxRelatedMoviesRequest);
                xmlwriter.SetValue(cTrakt, cMaxRelatedMoviesUnWatchedRequest, MaxRelatedMoviesUnWatchedRequest);
                xmlwriter.SetValue(cTrakt, cMaxRelatedShowsRequest, MaxRelatedShowsRequest);
                xmlwriter.SetValue(cTrakt, cMaxRelatedShowsUnWatchedRequest, MaxRelatedShowsUnWatchedRequest);
                xmlwriter.SetValue(cTrakt, cMaxUserWatchedEpisodesRequest, MaxUserWatchedEpisodesRequest);
                xmlwriter.SetValue(cTrakt, cMaxUserWatchedMoviesRequest, MaxUserWatchedMoviesRequest);
                xmlwriter.SetValue(cTrakt, cMaxUserCommentsRequest, MaxUserCommentsRequest);
                xmlwriter.SetValue(cTrakt, cDashboardActivityFilter, DashboardActivityFilter.ToJSON());
                xmlwriter.SetValueAsBool(cTrakt, cSkipMoviesWithNoIdsOnSync, SkipMoviesWithNoIdsOnSync);
                xmlwriter.SetValue(cTrakt, cPersonMovieCreditsDefaultLayout, PersonMovieCreditsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cPersonShowCreditsDefaultLayout, PersonShowCreditsDefaultLayout);
                xmlwriter.SetValue(cTrakt, cSortByCreditMovies, SortByCreditMovies.ToJSON());
                xmlwriter.SetValue(cTrakt, cSortByCreditShows, SortByCreditShows.ToJSON());
                xmlwriter.SetValueAsBool(cTrakt, cCreditMoviesHideWatched, CreditMoviesHideWatched);
                xmlwriter.SetValueAsBool(cTrakt, cCreditMoviesHideWatchlisted, CreditMoviesHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cCreditMoviesHideCollected, CreditMoviesHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cCreditMoviesHideRated, CreditMoviesHideRated);
                xmlwriter.SetValueAsBool(cTrakt, cCreditShowsHideWatched, CreditShowsHideWatched);
                xmlwriter.SetValueAsBool(cTrakt, cCreditShowsHideWatchlisted, CreditShowsHideWatchlisted);
                xmlwriter.SetValueAsBool(cTrakt, cCreditShowsHideCollected, CreditShowsHideCollected);
                xmlwriter.SetValueAsBool(cTrakt, cCreditShowsHideRated, CreditShowsHideRated);
                xmlwriter.SetValue(cTrakt, cCreditsMovieDefaultLayout, CreditsMovieDefaultLayout);
                xmlwriter.SetValue(cTrakt, cCreditsShowDefaultLayout, CreditsShowDefaultLayout);
                xmlwriter.SetValue(cTrakt, cAnticipatedMoviesDefaultLayout, AnticipatedMoviesDefaultLayout);
                xmlwriter.SetValue(cTrakt, cAnticipatedShowsDefaultLayout, AnticipatedShowsDefaultLayout);
                xmlwriter.SetValueAsBool(cTrakt, cParentalControlsEnabled, ParentalControlsEnabled);
                xmlwriter.SetValue(cTrakt, cParentalControlsPinCode, ParentalControlsPinCode);
                xmlwriter.SetValueAsBool(cTrakt, cParentalIgnoreAfterEnabled, ParentalIgnoreAfterEnabled);
                xmlwriter.SetValue(cTrakt, cParentalIgnoreAfterTime, ParentalIgnoreAfterTime);
                xmlwriter.SetValueAsBool(cTrakt, cParentalIgnoreMovieRatingEnabled, ParentalIgnoreMovieRatingEnabled);
                xmlwriter.SetValueAsBool(cTrakt, cParentalIgnoreShowRatingEnabled, ParentalIgnoreShowRatingEnabled);
                xmlwriter.SetValue(cTrakt, cParentalIgnoreMovieRating, ParentalIgnoreMovieRating);
                xmlwriter.SetValue(cTrakt, cParentalIgnoreShowRating, ParentalIgnoreShowRating);
                xmlwriter.SetValue(cTrakt, cTmdbConfiguration, TmdbConfiguration.ToJSON());
                xmlwriter.SetValue(cTrakt, cTmdbConfigurationAge, TmdbConfigurationAge);
                xmlwriter.SetValue(cTrakt, cTmdbPreferredBackdropSize, TmdbPreferredBackdropSize);
                xmlwriter.SetValue(cTrakt, cTmdbPreferredPosterSize, TmdbPreferredPosterSize);
                xmlwriter.SetValue(cTrakt, cTmdbPreferredEpisodeThumbSize, TmdbPreferredEpisodeThumbSize);
                xmlwriter.SetValue(cTrakt, cTmdbPreferredHeadshotSize, TmdbPreferredHeadshotSize);
                xmlwriter.SetValue(cTrakt, cTmdbShowImageMaxCacheAge, TmdbShowImageMaxCacheAge);
                xmlwriter.SetValue(cTrakt, cTmdbMovieImageMaxCacheAge, TmdbMovieImageMaxCacheAge);
                xmlwriter.SetValue(cTrakt, cTmdbSeasonImageMaxCacheAge, TmdbSeasonImageMaxCacheAge);
                xmlwriter.SetValue(cTrakt, cTmdbEpisodeImageMaxCacheAge, TmdbEpisodeImageMaxCacheAge);
                xmlwriter.SetValue(cTrakt, cTmdbPersonImageMaxCacheAge, TmdbPersonImageMaxCacheAge);
                xmlwriter.SetValue(cTrakt, cTmdbPreferredImageLanguage, TmdbPreferredImageLanguage);
            }

            Settings.SaveCache();

            if (savePersistedCache)
            {
                TraktLogger.Info("Saving persistent file cache");
                TraktCache.SaveFileCache(cLastActivityFileCache, LastActivityLoad.ToJSON());
                TraktCache.SaveFileCache(cLastStatisticsFileCache, LastStatistics.ToJSON());
                TraktCache.SaveFileCache(cLastUserProfileFileCache, LastUserProfile.ToJSON());
                TraktCache.SaveFileCache(cLastTrendingShowFileCache, (LastTrendingShows ?? "[]".FromJSONArray<TraktShowTrending>()).ToList().ToJSON());
                TraktCache.SaveFileCache(cLastTrendingMovieFileCache, (LastTrendingMovies ?? "[]".FromJSONArray<TraktMovieTrending>()).ToList().ToJSON());

                // save user activity cache
                TraktCache.Save();
            }
        }