protected void sincronizarCierreCaja(bool enviarCorreo) { try { if (this.conexionInternet) { frm_cargando sincronizar = new frm_cargando(this.cajaActiva.Id, (enviarCorreo)?this.obtenerDatos():null); sincronizar.Owner = this; sincronizar.ShowDialog(); } else { if (Mensaje.confirmacion("Caja cerrada satisfactoriamente.\n Desea generar el archivo de cierre?")) { if (this.fbd_buscar.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string mensaje = ""; //string nuevoNumero = EmpresaTR.obtenerNumerodeCierre(ref mensaje).ToString(); Sincronizacion xml = new Sincronizacion(); XmlDocument documento = xml.generarXmlCierreCaja(this.cajaActiva.Id); documento.Save(this.fbd_buscar.SelectedPath + @"\CierreCaja_" + DateTime.Now.ToShortDateString().Replace("/", "") + "_" + this.cajaActiva.Id + ".xml"); Sincronizacion.actualizarEstadoUsb(ref mensaje, this.cajaActiva.Id); Mensaje.informacion("Archivo generado satisfactoriamente."); } } } } catch (Exception e) { Mensaje.error(e.Message); } }
protected void sincronizarPartes() { Sincronizacion.actualizarEstadoFacturas(idCaja); List <int> cantidad = Sincronizacion.cantidadFacturas(this.idCaja); Sincronizacion xml = new Sincronizacion(); bool errorSincronizar = false; bool sincronizoCorrecto = false; string errores = ""; if (cantidad[0] == 0) { Sincronizacion.actualizarEstadoInternet("C", idCaja); if (!this.sincronizarGuias) { Mensaje.informacion("No hay facturas por sincronizar en esta caja."); this.cerrarFormulario(DialogResult.OK); } return; } for (int i = 0; i < cantidad[2]; i++) { /* 0->n°facturas * 1->cantidad a sincronizar * 2->n° veces a sincronizar */ int inicio = ((i * cantidad[1]) + 1); int fin = (inicio + cantidad[1]) - 1; if (fin > cantidad[0]) { fin = cantidad[0]; } this.setTextoEstado("Recopilando Información : " + inicio + " a " + fin + " de " + cantidad[0]); XmlDocument documento = xml.generarXmlCierreCaja(this.idCaja, inicio - 1, cantidad[1], (i == cantidad[2] - 1 && !errorSincronizar)); //System.Threading.Thread.Sleep(1000); this.setTextoEstado("Subiendo Ventas: " + inicio + " a " + fin + " de " + cantidad[0]); //documento.Save(@"c:\xml\cierre" + idCaja + "_" + i + ".xml"); /*SincronizarVentasService servicio = new SincronizarVentasService(); * servicio.Timeout = 800000; * System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidarCertificado); * sincronizar_ventas parametro = new sincronizar_ventas(); * parametro.empresa = Global.idEmpresa; * parametro.xml_ventas = General.scapeCharacters(documento.InnerXml); * sincronizar_ventasResponse respuesta = servicio.sincronizar_ventas(parametro); * string resultado = respuesta.sincronizar_ventasResult; * XmlDocument resultadoXml = new XmlDocument(); * resultadoXml.LoadXml(resultado); * XmlNode raiz = resultadoXml.GetElementsByTagName("root")[0]; * bool respuestaXml = Convert.ToBoolean(raiz["respuesta"].InnerText); * string errorXml = raiz["error"].InnerText; * if (respuestaXml) * { * Sincronizacion.actualizarEstadoTemp(idCaja, inicio-1, cantidad[1]); * sincronizoCorrecto = true; * } * else * { * errores += errorXml + "\n"; * errorSincronizar = true; * }*/ } if (errorSincronizar && sincronizoCorrecto) { Sincronizacion.actualizarEstadoFacturas(idCaja); Sincronizacion.actualizarEstadoInternet("I", idCaja); if (!this.sincronizarGuias) { if (this.Visible) { Mensaje.advertencia("Ventas sincronizadas incompletas.\n" + errores); this.cerrarFormulario(DialogResult.Ignore); } else { Mensaje.mostrarNotificacion("Sincronización", "Ventas sincronizadas incompletas."); } } else { this.sincronizacionCorrecta = false; this.mensajeError = "Ventas sincronizadas incompletas.\n" + errores; } this.enviarCorreoError(idCaja, errores); } else if (errorSincronizar) { string mensajeError = "Ocurrio un error al sincronizar las ventas: \n" + errores; if (!this.sincronizarGuias) { if (this.Visible) { Mensaje.error(mensajeError); this.cerrarFormulario(DialogResult.Cancel); } } else { this.sincronizacionCorrecta = false; this.mensajeError = mensajeError; } this.enviarCorreoError(idCaja, errores); } else if (sincronizoCorrecto) { Sincronizacion.actualizarEstadoInternet("C", idCaja); Sincronizacion.actualizarEstadoFacturas(idCaja); if (!this.sincronizarGuias) { if (this.Visible) { Mensaje.informacion("Ventas sincronizadas satisfactoriamente."); this.cerrarFormulario(DialogResult.OK); } else { Mensaje.mostrarNotificacion("Ventas Sincronizadas", "Las ventas han sido sincronizadas satisfactoriamente"); } } else { this.sincronizacionCorrecta = true; } } else { Mensaje.error("No hubo respuesta del servidor"); if (this.Visible) { this.cerrarFormulario(DialogResult.Cancel); } } }