private void ImportarObra(DoWorkEventArgs e) { var lecturaMdb = new Clases.LeerMdb(rutaArchivo); var obras = lecturaMdb.ListarObras(); var i = 1; Exception ex = null; using (var proxy = new ProxyWeb.ServicioPlanillaClient(GlobalVars.PuertoWcf)) { foreach (var obra in obras) { if (BgwImportar.CancellationPending) { e.Cancel = true; break; } var obraImportado = proxy.ImportarObras(obra); if (!obraImportado.EstadoEntidad.Correcto) { e.Cancel = true; ex = obraImportado.EstadoEntidad.ErrorEjecutar; } var a = (i * 100) / obras.Count; BgwImportar.ReportProgress(a, ex); i++; } } }
private void btnImportar_Click(object sender, EventArgs e) { if (BgwImportar.IsBusy) { return; } if (string.IsNullOrEmpty(cmbTabla.Text)) { MessageBox.Show(@"Seleccione tabla a importar", @"Importar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (string.IsNullOrWhiteSpace(txtRuta.Text)) { MessageBox.Show(@"Seleccione el archivo a importar", @"Importar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } textoCombo = cmbTabla.Text; rutaArchivo = txtRuta.Text; lblProgreso.Visible = pbProgreso.Visible = true; pbProgreso.Minimum = 0; pbProgreso.Maximum = 100; pbProgreso.Value = 0; BgwImportar.RunWorkerAsync(); }
private void btnCancelar_Click(object sender, EventArgs e) { if (BgwImportar.IsBusy) { if (MessageBox.Show(@"¿Desea cancelar la importación?", @"Cancelar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { BgwImportar.CancelAsync(); } } else { this.Close(); } }