private bool ActualizarWeb() { var binding = new BasicHttpBinding(); var address = new EndpointAddress(ConfiguracionRepository.ObtenerConfiguracion().EndpointAddress); var cliente = new ConsultasWeb.SMPSoapClient(binding, address); try { cliente.ActualizarTasasMora(new WebRepository().ObtenerTasasMora()); return(true); } catch (Exception ex) { var msg = "No se pudieron actualizar las tasas en la web: \n" + ex.Message; msg += "\n\n" + "¿Desea cerrar de todos modos el formulario?"; return(MessageBox.Show(msg, "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes); } finally { cliente.Close(); } }
private void ThreadProc() { try { Acción = "Conectando a la web"; var repo = new Repositories.WebRepository(); Acción = "Obteniendo datos"; var datos = repo.ObtenerDatos(); InicializarProgreso(datos); Acción = "Procesando"; ConsultasWeb.SMPSoapClient cliente = CrearCliente(); bool error = false; try { foreach (var alumno in datos) { if (_stop) { break; } alumno.CursosAlumnos = repo.ObtenerCursosAlumnos(alumno); _log.Debug($"Subiendo alumno {alumno.Id}"); if (!cliente.ActualizarDatos(alumno)) { //XmlSerializer xsSubmit = new XmlSerializer(typeof(ConsultasWeb.Alumno)); //var xml = ""; //using (var sww = new StringWriter()) //{ // using (XmlWriter writer = XmlWriter.Create(sww)) // { // xsSubmit.Serialize(writer, alumno); // xml = sww.ToString(); // Your XML // File.WriteAllText(Path.ChangeExtension(Application.ExecutablePath, ".upload.xml"), xml); // } //} string s = String.Format("No se pudieron subir los datos del alumno: " + "\nNº Documento:{0}\nNombre: {1}, {2}\nID: {3}", alumno.NroDocumento, alumno.Apellido, alumno.Nombre, alumno.Id); ShowError(s); error = true; break; } AvanzarProgreso(); } var conf = Repositories.ConfiguracionRepository.ObtenerConfiguracion(); cliente.ActualizarConfiguracion(conf.InteresPorMora); cliente.ActualizarTasasMora(repo.ObtenerTasasMora()); } //catch (Exception) //{ // throw; //} finally { cliente.Close(); } if (!error) { MessageBox.Show("Los datos se subieron correctamente.\nFin del proceso.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (ThreadAbortException) { //nada } catch (Exception ex) { _log.Error("Error al subir los datos: ", ex); ShowError("Error al subir los datos:\n", ex); } finally { Acción = "Fin del proceso"; FinalizarProgreso(); _stop = true; } }