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; }
/// <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 ); }