protected void Button1_Click(object sender, EventArgs e)
        {
            WSEParts.ServiciosEparts ws = new WSEParts.ServiciosEparts();

            string respuesta = ws.Crea_Partlist("1000051", "<Parts><Cantidad>2</Cantidad><NumParte>021LCFS</NumParte><SOS>060</SOS></Parts>", "9999999", "Carlos Villanueva", "VS", "02", "002", "VPB/Qpikl0avWVZMBkxk2A==");

            Response.Write(respuesta);
        }
Ejemplo n.º 2
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");
        }
Ejemplo n.º 3
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);
            }
        }
        private void ValidarStock()
        {
            Int32            stockMinimo    = Convert.ToInt32(cCMS.ParametroAlias(5));
            List <eProducto> lProductoStock = new List <eProducto>();

            string xmlPartList = "<ListaPartes>";

            foreach (eOrdenProducto item in lOrdenProducto)
            {
                xmlPartList += "<Parts><Cantidad>" + item.CantidadOrdenProducto + "</Cantidad><NumParte>" + item.eProducto.CodigoProducto + "</NumParte><SOS>" + item.eProducto.SOSProducto + "</SOS></Parts>";

                eProducto oProducto = cCMS.Producto_item(item.eProducto.IDProducto); //Obtener Stock del Producto
                Trace.Warn("StockProducto, CantidadOrdenProducto", oProducto.StockProducto.ToString() + ", " + item.CantidadOrdenProducto.ToString());

                oProducto.StockProducto = oProducto.StockProducto - item.CantidadOrdenProducto;
                //Actualizar stock en el CMS (temporal)
                cCMS.Producto_editStock(oProducto.IDProducto, item.CantidadOrdenProducto);

                if (oProducto.StockProducto <= stockMinimo)
                {
                    //Agregar a lista de Pendienstes de Stock
                    lProductoStock.Add(oProducto);
                }
            }
            xmlPartList += "</ListaPartes>";

            string respuesta = "";

            try
            {
                Trace.Warn("XML PartList", xmlPartList);



                WSEParts.ServiciosEparts ws = new WSEParts.ServiciosEparts();
                ws.Url = ConfigurationManager.AppSettings["WS_EParts"].ToString();

                respuesta = ws.Crea_Partlist(codigoOrden, xmlPartList, WSCliente, oUsuarioWeb.nombre_usuario + " " + oUsuarioWeb.apellido_usuario, "VS", "02", "002", WSClave);

                XmlDocument xDoc = new XmlDocument();
                xDoc.LoadXml(respuesta);

                XmlNodeList elemList = xDoc.GetElementsByTagName("Resultado");
                respuesta = elemList[0].InnerXml;

                Response.Write(respuesta);
            }
            catch (Exception ex)
            {
                Trace.Warn("EParts Exception", ex.Message);

                respuesta = ex.Message;

                smtpMail.SendNotificacion_Epart(lOrdenProducto, codigoOrden);
            }



            cCMS.EParts_add(codigoOrden, xmlPartList, respuesta, oUsuarioWeb.id_usuario);

            Trace.Warn("EParts", respuesta);

            if (lProductoStock.Count > 0)
            {
                //Enviar notificación Pendientes de Stock
                smtpMail.SendNotificacion_Stock(lProductoStock);
            }
        }
Ejemplo n.º 5
0
        public void ObtenerTipoDeCambio()
        {
            try
            {
                GridView grvListado         = new GridView();
                WSEParts.ServiciosEparts ws = new WSEParts.ServiciosEparts();
                ws.Url = ConfigurationManager.AppSettings["WS_EParts"].ToString();

                string fechaDesde = DateTime.Today.AddDays(-4).ToShortDateString();
                string fechaHasta = DateTime.Today.ToShortDateString();
                dia        = Convert.ToInt32(fechaDesde.Substring(0, 2));
                mes        = Convert.ToInt32(fechaDesde.Substring(3, 2));
                año        = Convert.ToInt32(fechaDesde.Substring(6, 4));
                fechaDesde = año.ToString() + mes.ToString() + dia.ToString();
                dia        = Convert.ToInt32(fechaHasta.Substring(0, 2));
                mes        = Convert.ToInt32(fechaHasta.Substring(3, 2));
                año        = Convert.ToInt32(fechaHasta.Substring(6, 4));
                fechaHasta = año.ToString() + mes.ToString() + dia.ToString();

                object tipoCambio = ws.Tipo_Cambio(WS_Clave, fechaDesde, fechaHasta);
                string myXMLfile  = tipoCambio.ToString();
                myXMLfile = myXMLfile.Replace("\n", "");
                XmlDocument xm = new XmlDocument();
                xm.LoadXml(myXMLfile);
                XmlNodeReader reader  = new XmlNodeReader(xm);
                DataSet       dataSet = new DataSet(); dataSet.ReadXml(reader);
                grvListado.DataSource = dataSet;
                grvListado.DataBind();

                List <eTipoCambio> lTipoCambioOld = new List <eTipoCambio>();
                List <eTipoCambio> lTipoCambio    = new List <eTipoCambio>();
                int contador = 0;
                foreach (GridViewRow row in grvListado.Rows)
                {
                    string fechaSinTrabajar = row.Cells[0].Text;
                    if (fechaSinTrabajar != "19970000")
                    {
                        año            = Convert.ToInt32(fechaSinTrabajar.Substring(0, 2));
                        mes            = Convert.ToInt32(fechaSinTrabajar.Substring(4, 2));
                        dia            = Convert.ToInt32(fechaSinTrabajar.Substring(6, 2));
                        fechaTrabajada = año + "/" + mes + "/" + dia;
                        DateTime fecha = DateTime.Parse(fechaTrabajada);
                        string   valor = row.Cells[1].Text;

                        eTipoCambio oTipoCambio = new eTipoCambio();
                        oTipoCambio.FechaTipoCambio = Convert.ToDateTime(fecha);
                        oTipoCambio.ValorTipoCambio = Convert.ToDecimal(valor);

                        eTipoCambio oTipoCambioOld = cCMS.TipoDeCambio_Select(oTipoCambio.FechaTipoCambio);
                        if (oTipoCambioOld != null)
                        {
                            cCMS.TipoDeCambio_updateCadaUno(oTipoCambio.FechaTipoCambio, oTipoCambio.ValorTipoCambio);
                            lTipoCambioOld.Add(oTipoCambioOld);
                        }
                        else
                        {
                            cCMS.TipoDeCambio_Add(oTipoCambio);
                            lTipoCambio.Add(oTipoCambio);
                        }
                    }
                    contador++;
                }

                string xmlOriginal   = Util.XML.SerializeObject(lTipoCambio, new System.Xml.Serialization.XmlSerializer(typeof(List <eTipoCambio>)));
                string xmlModificado = Util.XML.SerializeObject(lTipoCambioOld, new System.Xml.Serialization.XmlSerializer(typeof(List <eTipoCambio>)));
                RegistrarLogWS(LOG_TIPO_CAMBIO, "WS Tipo de Cambio: " + contador + " actualizados", xmlOriginal, xmlModificado);
            }
            catch (Exception ex)
            {
                RegistrarLogWS(LOG_TIPO_CAMBIO, "WS Tipo de Cambio (Error): " + ex.Message);
            }
        }