/// <summary> /// Downloads the settings file asynchronously. /// </summary> public async Task DownloadSettingsFileAsync() { if (m_queryPending) { return; } m_queryPending = true; EveMonClient.Trace("Initiated"); SerializableAPIResult <CloudStorageServiceAPIFile> result = await DownloadFileAsync().ConfigureAwait(false); FileDownloaded?.ThreadSafeInvoke(this, new CloudStorageServiceProviderEventArgs(result.Error?.ErrorMessage)); m_queryPending = false; string resultText = result.HasError ? "Failed" : "Completed"; EveMonClient.Trace($"CloudStorageServiceProvider.DownloadSettingsFileAsync - {resultText}", printMethod: false); if (!result.HasError) { Dispatcher.Invoke(() => SaveSettingsFile(result.Result)); } }
/// <summary> /// Downloads the settings file. /// </summary> /// <returns></returns> public CloudStorageServiceAPIFile DownloadSettingsFile() { if (!CloudStorageServiceSettings.Default.DownloadAlways || !HasCredentialsStored) { return(null); } if (!IsAuthenticated && !CheckAPIAuthIsValid()) { MessageBox.Show($"The {Name} API credentials could not be authenticated.", $"{Name} API Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(null); } EveMonClient.Trace("Initiated"); SerializableAPIResult <CloudStorageServiceAPIFile> result = DownloadFileAsync().Result; FileDownloaded?.ThreadSafeInvoke(this, new CloudStorageServiceProviderEventArgs(result.Error?.ErrorMessage)); if (CloudStorageServiceSettings.Default.UseImmediately) { if (result.HasError) { MessageBox.Show($"File could not be downloaded.\n\nThe error was:\n{result.Error?.ErrorMessage}", $"{Name} API Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { EveMonClient.Trace("Completed"); return(result.Result); } } else { var resultText = result.HasError ? "Failed" : "Completed"; EveMonClient.Trace(resultText); if (!result.HasError) { SaveSettingsFile(result.Result); } } return(null); }