/// <summary> /// Immediately attempts to upload reports from Temp Storage to the target <see cref="ReportStorageProvider" />. /// In case of failure, pending reports will be written back to temp storage. /// </summary> /// <param name="report">Report to be uploaded</param> /// <param name="provider">Non-Temporary Report Storage Provider</param> /// <param name="omitGlobals">Should Global Data Points be ommitted for saved reports? Defaults to false.</param> public async Task <Task> UploadAsync(TempStorageProvider tempProvider, ReportStorageProvider provider, bool omitGlobals = false) { var reports = await tempProvider.ReadAllDataAsync(); PreProcessReport(reports, omitGlobals); try { return(provider.SaveToStorageAsync(reports)); } catch (Exception) { return(tempProvider.WriteDataAsync(reports)); } }
/// <summary> /// Immediately uploads all reports stored in the client to the <see cref="ReportStorageProvider" />. /// </summary> /// <param name="provider">Non-Temporary Report Storage Provider</param> public Task UploadActiveReportsAsync(ReportStorageProvider provider) { return(UploadAsync(ActiveReports, provider)); }
/// <summary> /// Immediately uploads a set of reports to the target <see cref="ReportStorageProvider" />. /// </summary> /// <param name="report">Report to be uploaded</param> /// <param name="provider">Non-Temporary Report Storage Provider</param> /// <param name="omitGlobals">Should Global Data Points be ommitted for saved reports? Defaults to false.</param> public Task UploadAsync(List <TelemetryReport> reports, ReportStorageProvider provider, bool omitGlobals = false) { PreProcessReport(reports, omitGlobals); return(provider.SaveToStorageAsync(reports)); }