Exemple #1
0
        public OpenSubtitlesService(
            ILogger <OpenSubtitlesService> logger,
            ProgramParameters programParameters,
            IOptions <SubtitleDownloaderSettings> options,
            IOpenSubtitlesApi openSubtitlesApi,
            WebClient webClient)
        {
            this.logger            = logger;
            this.programParameters = programParameters;
            this.openSubtitlesApi  = openSubtitlesApi;
            this.webClient         = webClient;

            Settings = options.Value;
        }
Exemple #2
0
        /// <summary>
        /// Save user settings.
        /// </summary>
        /// <param name="settings"></param>
        /// <returns>Task which saves the user settings.</returns>
        private async Task SaveUserSettingsAsync(SubtitleDownloaderSettings settings)
        {
            var settingsJson      = JsonConvert.SerializeObject(settings, Formatting.Indented);
            var settingsDirectory = SubtitleDownloaderSettingsLocator.GetUserSettingsDirectory();
            var settingsFileName  = SubtitleDownloaderSettingsLocator.GetUserSettingsFileName();

            if (!Directory.Exists(settingsDirectory))
            {
                Directory.CreateDirectory(settingsDirectory);
            }

            await File.WriteAllTextAsync(
                settingsFileName,
                settingsJson
                );
        }