public async Task CancellingTest() { var cts = new CancellationTokenSource(); cts.CancelAfter(10); var data = await ExportData.FromGoogleSheet <SamplesSetModel>("https://docs.google.com/spreadsheets/d/1c7c-mlEbANl0Fszxj1ITaTwexJb-Z9KbAWChX_1aCk8/edit#gid=0", cts.Token); }
public async Task LinkWoSharedAccessParsingTest() { var data = await ExportData.FromGoogleSheet <SamplesSetModel>("https://docs.google.com/spreadsheets/d/1c7c-mlEbANl0Fszxj1ITaTwexJb-Z9KbAWChX_1aCk8/edit#gid=0", new System.Threading.CancellationToken()); }
public async Task EmptyLinkParsingTest() { var data = await ExportData.FromGoogleSheet <SamplesSetModel>("", new System.Threading.CancellationToken()); }
public async Task WrongLinkParsingTest() { var data = await ExportData.FromGoogleSheet <SamplesSetModel>("https://regata.jinr.ru", new System.Threading.CancellationToken()); }
private async void ExportFromGoogleButton_Click(object sender, EventArgs e) { FooterStatusProgressBar.Value = 0; FooterStatusLabel.Text = _labels.GetLabel("InitialExport"); if (Data.Any()) { var res = MessageBox.Show(_labels.GetLabel("DeleteFromDB"), _labels.GetLabel("HelpCaptionPromt"), MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (res == DialogResult.No) { return; } _ic.Samples.RemoveRange(Data); } Data.Clear(); var result = ""; using (Prompt prompt = new Prompt(_labels.GetLabel("HelpMessagePromt"), _labels.GetLabel("HelpCaptionPromt"))) { result = prompt.Result; } if (string.IsNullOrEmpty(result)) { FooterStatusLabel.Text = ""; return; } var _cancellationTokenSource = new CancellationTokenSource(); _cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(TimeOutSeconds)); try { var samples = await ExportData.FromGoogleSheet <Sample>(result, _cancellationTokenSource.Token); FooterStatusProgressBar.Maximum = samples.Length; foreach (var l in samples) { if (string.IsNullOrEmpty(l.A_Client_Sample_ID)) { break; } l.F_Country_Code = SetKey.Split('-')[0]; l.F_Client_Id = SetKey.Split('-')[1]; l.F_Year = SetKey.Split('-')[2]; l.F_Sample_Set_Id = SetKey.Split('-')[3]; l.F_Sample_Set_Index = SetKey.Split('-')[4]; l.A_Sample_ID = (Array.IndexOf(samples, l) + 1).ToString("d2"); Data.Add(l); FooterStatusProgressBar.Value++; } FooterStatusProgressBar.Value = FooterStatusProgressBar.Maximum; FooterStatusLabel.Text = _labels.GetLabel("SuccessExport"); await _ic.Samples.AddRangeAsync(Data); //await _ic.SaveChangesAsync(); } catch (NullReferenceException nre) { MessageBoxTemplates.WrapExceptionToMessageBox(new ExceptionEventsArgs() { exception = nre, Level = ExceptionLevel.Error }); } catch (OperationCanceledException) { FooterStatusLabel.Text = _labels.GetLabel("ExportCancelledByTimeout"); } catch (AggregateException ae) { foreach (var ie in ae.InnerExceptions) { MessageBoxTemplates.WrapExceptionToMessageBox(new ExceptionEventsArgs() { exception = ie, Level = ExceptionLevel.Error }); } } catch (Exception ex) { MessageBoxTemplates.WrapExceptionToMessageBox(new ExceptionEventsArgs() { exception = ex, Level = ExceptionLevel.Error }); } finally { _cancellationTokenSource.Dispose(); } }