private void Synchronize_PartList() { string WS_Cliente = ConfigurationManager.AppSettings["WS_Cliente"].ToString(); string WS_Clave = ConfigurationManager.AppSettings["WS_Clave"].ToString(); Session["PartListWS"] = true; try { WSEParts.ServiciosEparts WSEParts = new WSEParts.ServiciosEparts(); WSEParts.Url = ConfigurationManager.AppSettings["WS_EParts"].ToString(); WSEParts.Timeout = 600000; object precioydisponibilidad = WSEParts.Lista_Saldos_Precios(WS_Cliente, WS_Clave); string myXMLfile = precioydisponibilidad.ToString(); myXMLfile = myXMLfile.Replace("\n", ""); XmlDocument xm = new System.Xml.XmlDocument(); xm.LoadXml(myXMLfile); XmlNodeList nodeList = xm.DocumentElement.SelectNodes("/PreciosDisponibilidad/Datos"); int nlog = 0; foreach (XmlNode node in nodeList) { eProducto oProducto = new eProducto(); oProducto.CodigoProducto = node.SelectSingleNode("NumParte").InnerText; oProducto.DescripcionProducto = node.SelectSingleNode("Descripcion").InnerText; oProducto.SOSProducto = node.SelectSingleNode("SOS").InnerText; oProducto.PrecioProducto = (node.SelectSingleNode("ValNetoStock").InnerText != " ") ? Convert.ToDecimal(node.SelectSingleNode("ValNetoStock").InnerText) : Convert.ToDecimal(0); oProducto.StockProducto = Convert.ToInt32(node.SelectSingleNode("SaldoTotal").InnerText); eProducto oProductoOld = cCMS.Producto_ItemCodigo(oProducto.CodigoProducto); if (oProductoOld != null) { if (cCMS.Producto_editPrecioDisponibilidad(oProducto.CodigoProducto, oProducto.SOSProducto, oProducto.PrecioProducto, oProducto.StockProducto)) { nlog++; } } } ClientScript.RegisterClientScriptBlock(this.GetType(), "onload", "alert('La sincronización del partlist ha finalizado con éxito!');", true); } catch (Exception ex) { lblError.Text = "WS PartList (Error): " + ex.Message; } Session["PartListWS"] = null; Session.Remove("PartListWS"); }
public void ObtenerPreciosYDisponibilidades() { try { WSEParts.ServiciosEparts ws = new WSEParts.ServiciosEparts(); ws.Url = ConfigurationManager.AppSettings["WS_EParts"].ToString(); ws.Timeout = 5000; object precioydisponibilidad = ws.Lista_Saldos_Precios(WS_Cliente, WS_Clave); string myXMLfile = precioydisponibilidad.ToString(); myXMLfile = myXMLfile.Replace("\n", ""); XmlDocument xm = new XmlDocument(); xm.LoadXml(myXMLfile); XmlNodeList nodeList = xm.DocumentElement.SelectNodes("/PreciosDisponibilidad/Datos"); List <eProducto> lProductoOld = new List <eProducto>(); List <eProducto> lProducto = new List <eProducto>(); foreach (XmlNode node in nodeList) { eProducto oProducto = new eProducto(); oProducto.CodigoProducto = node.SelectSingleNode("NumParte").InnerText; oProducto.DescripcionProducto = node.SelectSingleNode("Descripcion").InnerText; oProducto.SOSProducto = node.SelectSingleNode("SOS").InnerText; oProducto.PrecioProducto = (node.SelectSingleNode("ValNetoStock").InnerText != " ") ? Convert.ToDecimal(node.SelectSingleNode("ValNetoStock").InnerText) : Convert.ToDecimal(0); oProducto.StockProducto = Convert.ToInt32(node.SelectSingleNode("SaldoTotal").InnerText); eProducto oProductoOld = cCMS.Producto_ItemCodigo(oProducto.CodigoProducto); if (oProductoOld != null) { if (cCMS.Producto_editPrecioDisponibilidad(oProducto.CodigoProducto, oProducto.SOSProducto, oProducto.PrecioProducto, oProducto.StockProducto)) { lProductoOld.Add(oProductoOld); lProducto.Add(oProducto); } } } string xmlOriginal = Util.XML.SerializeObject(lProducto, new System.Xml.Serialization.XmlSerializer(typeof(List <eProducto>))); string xmlModificado = Util.XML.SerializeObject(lProductoOld, new System.Xml.Serialization.XmlSerializer(typeof(List <eProducto>))); RegistrarLogWS(LOG_TIPO_CAMBIO, "WS PartList: " + lProducto.Count.ToString() + " actualizados", xmlOriginal, xmlModificado); } catch (Exception ex) { RegistrarLogWS(LOG_TIPO_CAMBIO, "WS PartList (Error): " + ex.Message); } }