private void UploadLayerToGeoserverBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { var list = e.Argument as List <IFeatureTypeInfo>; SetLoadingToolStripStatusLabelText("...Uploading"); for (var i = 0; i < list.Count; i++) { var i1 = i; try { SetCurrentGridRowSelection(i1); if (list[i].LayerStatus == FeatureTypeInfoStatus.Missing) { uploadLayerToGeoserverUseCase.Execute(new UploadFeatureTypeInfoToGeoserverRequest(list[i]), response => ResponseBoundary(response, i1, list)); Thread.Sleep(1000); } UploadLayerToGeoserverBackgroundWorker.ReportProgress(((i + 1) * 100) / list.Count); } catch (Exception exception) { if (!IsDisposed) { MessageBox.Show(exception.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } e.Cancel = true; return; } } }
private void bt_upload_missing_Click(object sender, EventArgs e) { if (LayersGrid.DataSource != null && !UploadLayerToGeoserverBackgroundWorker.IsBusy) { var list = LayersGrid.DataSource as IEnumerable <IFeatureTypeInfo>; bt_check_state.Enabled = false; bt_upload_missing.Enabled = false; pb_load_layers.Visible = true; UploadLayerToGeoserverBackgroundWorker.RunWorkerAsync(list); } else { MessageBox.Show("Can't do that right now!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }