Пример #1
0
        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");
        }
Пример #2
0
        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);
            }
        }