private void lecturaXmlAbono(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string codigo, mensaje;//, referencia, saldoCliente; string[] respuesta = new string[8] { "", "", "", "", "", "", "", "" }; string[] respuestaHijos = new string[4] { "", "", "", "" }; foreach (XmlNode nodos in doc.DocumentElement.ChildNodes) { bool tieneHijos = false; string nodosHijo = "#"; try { nodosHijo = nodos.ChildNodes[0].Name; string valor = nodosHijo.Substring(0, 1); if (nodosHijo.Substring(0, 1) != "#") { tieneHijos = true; } else { tieneHijos = false; } } catch (Exception) { tieneHijos = false; } if (tieneHijos) { foreach (XmlNode nodoHijo in nodos.ChildNodes) { switch (nodoHijo.Name) { case "CODIGO": respuestaHijos[0] = nodoHijo.InnerText; break; case "TEXTO": respuestaHijos[1] = nodoHijo.InnerText; break; case "SALDOCLIENTE": respuestaHijos[2] = nodoHijo.InnerText; break; case "REFERENCIA": respuestaHijos[3] = nodoHijo.InnerText; break; default: break; } } } else { switch (nodos.Name) { case "ID_TX": respuesta[0] = nodos.InnerText; break; case "NUM_AUTORIZACION": respuesta[1] = nodos.InnerText; break; case "SALDO": respuesta[2] = nodos.InnerText; break; case "COMISION": respuesta[3] = nodos.InnerText; break; case "SALDO_F": respuesta[4] = nodos.InnerText; break; case "COMISION_F": respuesta[5] = nodos.InnerText; break; case "FECHA": respuesta[6] = nodos.InnerText; break; case "MONTO": respuesta[7] = nodos.InnerText; break; default: break; } } } registroPagos.añop = fechas.obtieneFechaLocal().Year; registroPagos.punto = _punto; registroPagos.caja = _caja; registroPagos.usuario = _usuario; registroPagos.telefono = telefono; registroPagos.referencia_in = referencia_in; registroPagos.catServicio = catServicio; registroPagos.tipoFont = tipoFont; registroPagos.idServicio = idServicio; registroPagos.idProducto = idProducto; registroPagos.montoPagar = montoPagar; registroPagos.operacion = operacion; registroPagos.codigo = respuestaHijos[0]; registroPagos.texto = respuestaHijos[1]; registroPagos.saldo_cliente = respuestaHijos[2]; registroPagos.referencia = respuestaHijos[3]; registroPagos.id_txt = respuesta[0]; registroPagos.num_autorizacion = respuesta[1]; registroPagos.saldo = respuesta[2]; registroPagos.comision = respuesta[3]; registroPagos.saldo_f = respuesta[4]; registroPagos.comision_f = respuesta[5]; registroPagos.fecha = respuesta[6]; registroPagos.monto = respuesta[7]; registroPagos.xml = ""; registroPagos.actualizaOperacion(); codigo = respuestaHijos[0]; mensaje = respuestaHijos[1]; _codigo = codigo; ErroresServicios erroresServicios = new ErroresServicios(); erroresServicios._codigo = codigo; erroresServicios._mensaje = mensaje; erroresServicios.obtieneCodigo(); if (Convert.ToBoolean(erroresServicios._retorno[0])) { if (erroresServicios._codigo == "01") { if (respuesta[1] != "" && Convert.ToInt32(respuesta[1]) > 0) { _retorno[0] = true; if (tipoFront == 4) { _retorno[1] = erroresServicios._mensaje.Trim() + ". No. de Operación: " + operacion + ". No. Autorización:" + respuesta[1] + ". Saldo:" + respuestaHijos[2]; } else { _retorno[1] = erroresServicios._mensaje.Trim() + ". No. de Operación: " + operacion + ". No. Autorización:" + respuesta[1]; } } else { _retorno[0] = true; _retorno[1] = "Error " + erroresServicios._codigo.Trim() + ": " + erroresServicios._mensaje.Trim() + Environment.NewLine + "Detalle:" + mensaje.ToUpper().Trim() + Environment.NewLine + ". No. de Operación: " + operacion; } } else if (codigo == "03" || codigo == "82") { _peticion = 3; Thread.Sleep(2000); obtienePagoServicios(); } else { _retorno[0] = true; _retorno[1] = "Error " + erroresServicios._codigo.Trim() + ": " + erroresServicios._mensaje.Trim() + Environment.NewLine + "Detalle:" + mensaje.ToUpper().Trim() + Environment.NewLine + ". No. de Operación: " + operacion; } } }
private void lecturaXmlsProductos(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string codigo = doc.DocumentElement.ChildNodes[0].ChildNodes[0].InnerText; string mensaje = doc.DocumentElement.ChildNodes[0].ChildNodes[1].InnerText.ToUpper(); _codigo = codigo; ErroresServicios erroresServicios = new ErroresServicios(); erroresServicios._codigo = codigo; erroresServicios._mensaje = mensaje; erroresServicios.obtieneCodigo(); if (Convert.ToBoolean(erroresServicios._retorno[0])) { if (erroresServicios._codigo == "01") { if (doc.DocumentElement.ChildNodes[1].ChildNodes.Count > 0) { int i = 0; int actualizados = 0; foreach (XmlNode nodo in doc.DocumentElement.ChildNodes[1].ChildNodes) { int idCatTipoServicio = Convert.ToInt32(nodo.Attributes["idCatTipoServicio"].Value); int idServicio = Convert.ToInt32(nodo.Attributes["idServicio"].Value); int idProducto = Convert.ToInt32(nodo.Attributes["idProducto"].Value); int tipoFront = Convert.ToInt32(nodo.Attributes["tipoFront"].Value); string servicio = nodo.Attributes["servicio"].Value; string productos = nodo.Attributes["producto"].Value; decimal precio = Convert.ToDecimal(nodo.Attributes["precio"].Value); bool hasDigitoVerificador = Convert.ToBoolean(nodo.Attributes["hasDigitoVerificador"].Value); bool showAyuda = Convert.ToBoolean(nodo.Attributes["showAyuda"].Value); object[] actualizado = producto(idCatTipoServicio, idServicio, idProducto, tipoFront, servicio, productos, precio, hasDigitoVerificador, showAyuda); if (Convert.ToBoolean(actualizado[0])) { actualizados++; } i++; } _retorno[0] = true; if (actualizados == 0) { _retorno[1] = "No se registraron modificaciones a los productos"; } else { _retorno[1] = "Se actualizaron " + actualizados + " productos de " + i; } } else { _retorno[0] = true; _retorno[1] = "No se encontraron productos por parte del proveedor de servicios, Contactelo para que le brinde mas información"; } } else { _retorno[0] = true; _retorno[1] = "Error " + erroresServicios._codigo.Trim() + ": " + erroresServicios._mensaje.Trim() + Environment.NewLine + "Detalle:" + mensaje.ToUpper().Trim(); } } }
private void lecturaXmlConfirmacion(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string codigo, mensaje; string[] respuesta = new string[1] { "0" }; string[] respuestaHijos = new string[2] { "", "" }; foreach (XmlNode nodos in doc.DocumentElement.ChildNodes) { bool tieneHijos = false; string nodosHijo = "#"; try { nodosHijo = nodos.ChildNodes[0].Name; if (nodosHijo.Substring(0, 1) != "#") { tieneHijos = true; } else { tieneHijos = false; } } catch (Exception) { tieneHijos = false; } if (tieneHijos) { foreach (XmlNode nodoHijo in nodos.ChildNodes) { switch (nodoHijo.Name) { case "CODIGO": respuestaHijos[0] = nodoHijo.InnerText; break; case "TEXTO": respuestaHijos[1] = nodoHijo.InnerText; break; default: break; } } } else { switch (nodos.Name) { case "NUM_AUTORIZACION": respuesta[0] = nodos.InnerText; break; default: break; } } } registroPagos.añop = fechas.obtieneFechaLocal().Year; registroPagos.punto = _punto; registroPagos.caja = _caja; registroPagos.usuario = _usuario; registroPagos.telefono = telefono; registroPagos.referencia_in = referencia_in; registroPagos.catServicio = catServicio; registroPagos.tipoFont = tipoFont; registroPagos.idServicio = idServicio; registroPagos.idProducto = idProducto; registroPagos.montoPagar = montoPagar; registroPagos.operacion = operacion; registroPagos.codigo = respuestaHijos[0]; registroPagos.texto = respuestaHijos[1]; registroPagos.num_autorizacion = respuesta[0]; registroPagos.xml = xml; registroPagos.actualizaOperacion(); codigo = respuestaHijos[0]; mensaje = respuestaHijos[1]; ErroresServicios erroresServicios = new ErroresServicios(); erroresServicios._codigo = codigo; erroresServicios._mensaje = mensaje; erroresServicios.obtieneCodigo(); if (Convert.ToBoolean(erroresServicios._retorno[0])) { if (erroresServicios._codigo == "06") { if (respuesta[0] != "" && Convert.ToInt32(respuesta[0]) > 0) { _retorno[0] = true; _retorno[1] = erroresServicios._mensaje.Trim() + ". No. Operación: " + operacion + ". No. Autorización:" + respuesta[0]; } else { _retorno[0] = true; _retorno[1] = "Error " + erroresServicios._codigo.Trim() + ": " + erroresServicios._mensaje.Trim() + Environment.NewLine + "Detalle:" + mensaje.ToUpper().Trim() + Environment.NewLine + " No. Operación: " + operacion; } } else { _retorno[0] = true; _retorno[1] = "Error " + erroresServicios._codigo.Trim() + ": " + erroresServicios._mensaje.Trim() + Environment.NewLine + "Detalle:" + mensaje.ToUpper().Trim() + Environment.NewLine + " No. Operación: " + operacion; } } }