Esempio n. 1
0
 public void ConsultaOrdenCompraDetalle_Lista(OrdenCompraDet ordenCompraDet, string Conexion, ref List <OrdenCompraDet> List)
 {
     try
     {
         CD_CapOrdenCompraDet claseCapaDatos = new CD_CapOrdenCompraDet();
         claseCapaDatos.ConsultaOrdenCompraDetalle_Lista(ordenCompraDet, Conexion, ref List);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void ConsultaOrdenCompraDetalle_Lista(OrdenCompraDet ordenCompraDet, string Conexion, ref List <OrdenCompraDet> List)
        {
            try
            {
                SqlDataReader      dr        = null;
                CapaDatos.CD_Datos CapaDatos = new CapaDatos.CD_Datos(Conexion);

                string[] Parametros = { "@Id_Emp", "@Id_Cd", "@Id_Ord" };
                object[] Valores    = { ordenCompraDet.Id_Emp, ordenCompraDet.Id_Cd, ordenCompraDet.Id_Ord };

                SqlCommand sqlcmd = CapaDatos.GenerarSqlCommand("spCapOrdCompraDetalle_Consulta", ref dr, Parametros, Valores);

                while (dr.Read())
                {
                    ordenCompraDet          = new OrdenCompraDet();
                    ordenCompraDet.Producto = new Producto();

                    ordenCompraDet.Id_Emp           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Emp")));
                    ordenCompraDet.Id_Cd            = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cd")));
                    ordenCompraDet.Id_Ord           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Ord")));
                    ordenCompraDet.Id_OrdDet        = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_OrdDet")));
                    ordenCompraDet.Id_Prd           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Prd")));
                    ordenCompraDet.Ord_Cantidad     = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Ord_Cantidad"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Ord_Cantidad")));
                    ordenCompraDet.Ord_CantidadGen  = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Ord_CantidadGen"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Ord_CantidadGen")));
                    ordenCompraDet.Ord_CantidadCump = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Ord_CantidadCump"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Ord_CantidadCump")));

                    ordenCompraDet.Producto.Id_Prd           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Prd")));
                    ordenCompraDet.Producto.Prd_Descripcion  = dr.GetValue(dr.GetOrdinal("Prd_Descripcion")).ToString();
                    ordenCompraDet.Producto.Prd_Presentacion = dr.GetValue(dr.GetOrdinal("Prd_Presentacion")).ToString();
                    ordenCompraDet.Producto.Prd_UniNe        = dr.GetValue(dr.GetOrdinal("Prd_UniNe")).ToString();
                    ordenCompraDet.Producto.Prd_InvFinal     = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Prd_InvFinal"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Prd_InvFinal")));
                    ordenCompraDet.Producto.Prd_Transito     = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Prd_Transito"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Prd_Transito")));
                    ordenCompraDet.ProductoPrecio            = new ProductoPrecios();
                    ordenCompraDet.ProductoPrecio.Prd_Pesos  = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Prd_Pesos"))) ? 0 : Convert.ToSingle(dr.GetValue(dr.GetOrdinal("Prd_Pesos")));

                    List.Add(ordenCompraDet);
                }
                CapaDatos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void GuardarDeExcel(DataSet ds)
        {
            try
            {
                if (ds.Tables != null)
                {
                    Sesion      sesion    = (Sesion)Session["Sesion" + Session.SessionID];
                    OrdenCompra ordCompra = new OrdenCompra();
                    ordCompra.Id_Emp = sesion.Id_Emp;
                    ordCompra.Id_Cd  = sesion.Id_Cd_Ver;
                    ordCompra.Id_Ord = 0;
                    ordCompra.Id_Pvd = Id_Pvd;
                    ordCompra.Id_U   = sesion.Id_U;
                    //cuando se da de alta por el usuario el estatus siempre es M = Manual
                    ordCompra.Ord_Estatus = "C";

                    CapaDatos.Funciones funciones     = new CapaDatos.Funciones();
                    DateTime            fechaServidor = funciones.GetLocalDateTime(sesion.Minutos);
                    ordCompra.Ord_Fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, fechaServidor.Hour, fechaServidor.Minute, fechaServidor.Second);

                    ordCompra.Ord_Tipo  = 2; //1 = Manual, 2 = Automática
                    ordCompra.Ord_Notas = "Orden generada automáticamente";

                    List <OrdenCompraDet> listaPartidaTemp = new List <OrdenCompraDet>();
                    OrdenCompraDet        ordenCompraDet;

                    int productoInicial = Prd_Inicial;
                    int productoFinal   = Prd_Final;
                    if (!Page.IsPostBack)
                    {
                        productoInicial = -1;
                        productoFinal   = -1;
                    }
                    bool      aplicaTransito = chkTransito;
                    DataTable dtPartidas     = null;
                    new CN_CapOrdenCompra().GeneraOrdenCompraAutomatica(sesion.Emp_Cnx, ref dtPartidas, "tabla", sesion.Id_Emp, sesion.Id_Cd_Ver, Id_Pvd, productoInicial, productoFinal, aplicaTransito, 1);

                    //checar
                    int ordenado = 0;

                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        if (row[10] != DBNull.Value && int.TryParse(string.IsNullOrEmpty(row[10].ToString()) ? "0" : row[10].ToString(), out ordenado))
                        {
                            int prd = 0;//!string.IsNullOrEmpty(row[0].ToString()) ? int.TryParse(row[0].ToString(), out prd) : 0;
                            int.TryParse(row[0].ToString(), out prd);
                            if (prd > 0)
                            {
                                if (ordenado > 0)
                                {
                                    DataRow[] drArray;
                                    ordenCompraDet = new OrdenCompraDet();
                                    drArray        = dtPartidas.Select("Id_Prd='" + prd + "'");
                                    if (drArray.Length > 0)
                                    {
                                        double Prd_UniEmp = !string.IsNullOrEmpty(drArray[0].ItemArray[1].ToString()) ? Convert.ToDouble(drArray[0].ItemArray[1].ToString()) : 1;
                                        if (ordenado % Prd_UniEmp != 0)
                                        {
                                            while (ordenado % Prd_UniEmp != 0)
                                            {
                                                ordenado += 1;
                                            }
                                        }
                                        ordenCompraDet.Id_Emp          = sesion.Id_Emp;
                                        ordenCompraDet.Id_Cd           = sesion.Id_Cd_Ver;
                                        ordenCompraDet.Id_Ord          = 0;        //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual
                                        ordenCompraDet.Id_OrdDet       = 0;        //identity
                                        ordenCompraDet.Id_Prd          = Convert.ToInt32(row[0]);
                                        ordenCompraDet.Ord_Cantidad    = ordenado; // Convert.ToInt32(row[10]);
                                        ordenCompraDet.Ord_CantidadGen = 0;
                                        listaPartidaTemp.Add(ordenCompraDet);
                                    }
                                }
                            }
                        }
                    }
                    // Create the query.
                    IEnumerable <OrdenCompraDet> sortedStudents =
                        from Partida in listaPartidaTemp
                        orderby Partida.Id_Prd ascending
                        select Partida;

                    List <OrdenCompraDet> listaPartida = new List <OrdenCompraDet>();
                    foreach (OrdenCompraDet Partida2 in sortedStudents)
                    {
                        listaPartida.Add(Partida2);
                    }
                    //Genera la orden de compra solo si la lista trae 1 o mas partidas
                    if (listaPartida.Count > 0)
                    {
                        ordCompra.ListOrdenCompra = listaPartida;
                        int verificador = 0;
                        new CN_CapOrdenCompra().InsertarOrdenCompra(ref ordCompra, sesion.Emp_Cnx, ref verificador);
                        string mensaje = "Se genero la orden de compra # <b>" + verificador.ToString() + "</b>";
                        RAM1.ResponseScripts.Add(string.Concat(@"CloseWindow_Excel('", mensaje, "')"));
                    }
                    else
                    {
                        this.DisplayMensajeAlerta("ProOrdenCompraAuto_insert_NoPartidas");
                    }
                }
                else
                {
                    this.DisplayMensajeAlerta("ErrorPartidas");
                }
            }
            catch (Exception ex)
            {
                Alerta(ex.Message.Replace("'", ""));
            }
        }
        private void Guardar()
        {
            try
            {
                Sesion      sesion    = (Sesion)Session["Sesion" + Session.SessionID];
                OrdenCompra ordCompra = new OrdenCompra();
                ordCompra.Id_Emp = sesion.Id_Emp;
                ordCompra.Id_Cd  = sesion.Id_Cd_Ver;
                ordCompra.Id_Ord = 0;
                ordCompra.Id_Pvd = txtProveedor.Text == "" ? 0 : Convert.ToInt32(txtProveedor.Text);
                ordCompra.Id_U   = sesion.Id_U;
                //cuando se da de alta por el usuario el estatus siempre es M = Manual
                ordCompra.Ord_Estatus = "C";

                CapaDatos.Funciones funciones     = new CapaDatos.Funciones();
                DateTime            fechaServidor = funciones.GetLocalDateTime(sesion.Minutos);
                ordCompra.Ord_Fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, fechaServidor.Hour, fechaServidor.Minute, fechaServidor.Second);

                ordCompra.Ord_Tipo  = 2; //1 = Manual, 2 = Automática
                ordCompra.Ord_Notas = "Orden generada automáticamente";

                List <OrdenCompraDet> listaPartidaTemp = new List <OrdenCompraDet>();
                OrdenCompraDet        ordenCompraDet;
                foreach (DataRow row in this.listaPartidas.Select("ordenado > 0"))
                {
                    ordenCompraDet                 = new OrdenCompraDet();
                    ordenCompraDet.Id_Emp          = sesion.Id_Emp;
                    ordenCompraDet.Id_Cd           = sesion.Id_Cd_Ver;
                    ordenCompraDet.Id_Ord          = 0; //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual
                    ordenCompraDet.Id_OrdDet       = 0; //identity
                    ordenCompraDet.Id_Prd          = Convert.ToInt32(row["Id_Prd"]);
                    ordenCompraDet.Ord_Cantidad    = Convert.ToInt32(row["ordenado"]);
                    ordenCompraDet.Ord_CantidadGen = 0;
                    listaPartidaTemp.Add(ordenCompraDet);
                }
                // Create the query.
                IEnumerable <OrdenCompraDet> sortedStudents =
                    from Partida in listaPartidaTemp
                    orderby Partida.Id_Prd ascending
                    select Partida;

                List <OrdenCompraDet> listaPartida = new List <OrdenCompraDet>();
                foreach (OrdenCompraDet Partida2 in sortedStudents)
                {
                    listaPartida.Add(Partida2);
                }
                //Genera la orden de compra solo si la lista trae 1 o mas partidas
                if (listaPartida.Count > 0)
                {
                    ordCompra.ListOrdenCompra = listaPartida;
                    int verificador = 0;
                    new CN_CapOrdenCompra().InsertarOrdenCompra(ref ordCompra, sesion.Emp_Cnx, ref verificador);
                    Alerta("Se genero la orden de compra #" + verificador.ToString());
                    //actualiza grid por si hubo redondeo de partidas por multiplos
                    this.GetList();
                    rgOrdenCompra.Rebind();
                }
                else
                {
                    this.DisplayMensajeAlerta("ProOrdenCompraAuto_insert_NoPartidas");
                }

                txtId_PrdInicial_TextChanged(null, null);
                txtId_PrdFinal_TextChanged(null, null);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 5
0
        private void OrdenCompra_CrearEnviaXML(int Id_Emp, int Id_Cd, int Id_Ord, DateTime fechaOrden, string Ord_EstatusStr)
        {
            try
            {
                Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID];
                //Consulta encabezado de la orden de compra
                OrdenCompra ordCompra = new OrdenCompra();
                ordCompra.Id_Emp = Id_Emp;
                ordCompra.Id_Cd  = Id_Cd;
                ordCompra.Id_Ord = Id_Ord;
                new CN_CapOrdenCompra().ConsultaOrdenCompra(ref ordCompra, sesion.Emp_Cnx);
                //Consulta detalle de la orden de compra
                List <OrdenCompraDet> listaOrdCompraDet = new List <OrdenCompraDet>();
                OrdenCompraDet        ordenCompraDet    = new OrdenCompraDet();

                ordenCompraDet.Id_Emp = Id_Emp;
                ordenCompraDet.Id_Cd  = Id_Cd;
                ordenCompraDet.Id_Ord = Id_Ord;
                new CN_CapOrdenCompraDet().ConsultaOrdenCompraDetalle_Lista(ordenCompraDet, sesion.Emp_Cnx, ref listaOrdCompraDet);

                //Consulta centro de distribución
                CentroDistribucion Cd = new CentroDistribucion();
                new CN_CatCentroDistribucion().ConsultarCentroDistribucion(ref Cd, ordCompra.Id_Cd, ordCompra.Id_Emp, sesion.Emp_Cnx);

                StringBuilder XML_Enviar = new StringBuilder();
                XML_Enviar.Append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
                XML_Enviar.Append("<OrdenCompra");
                XML_Enviar.Append(" fecha=\"\"");
                XML_Enviar.Append(" ocnumsian=\"\"");
                XML_Enviar.Append(" oczonnumsian=\"\" >");

                XML_Enviar.Append(" <Encabezado");
                XML_Enviar.Append(" ocnumsian=\"\"");
                XML_Enviar.Append(" oczonnumsian=\"\"");
                XML_Enviar.Append(" octransian=\"\"");
                XML_Enviar.Append(" ocinvsian=\"\"");
                XML_Enviar.Append(" octotalsian=\"\"");
                XML_Enviar.Append(" oczoncpsian=\"\"");
                XML_Enviar.Append(" oczonlnum=\"\"");
                XML_Enviar.Append(" oczonedo=\"\"");
                XML_Enviar.Append(" oczoncd=\"\"");
                XML_Enviar.Append(" oczoncolsian=\"\"");
                XML_Enviar.Append(" oczoncallesian=\"\"");
                XML_Enviar.Append(" ocusunommacola=\"\"");
                XML_Enviar.Append(" ocusunummacola=\"\"");
                XML_Enviar.Append(" ocfechamacola=\"\"");

                XML_Enviar.Append(" ocfechasian=\"\"");
                XML_Enviar.Append(" ocusunomsian=\"\"");
                XML_Enviar.Append(" ocusunumsian=\"\"");
                XML_Enviar.Append(" oczondescsian=\"\"/>");
                XML_Enviar.Append("<Detalle>");

                var importe = 0.0;
                //PARTIDA DETALLE
                if (listaOrdCompraDet.Count() > 0)
                {
                    foreach (OrdenCompraDet ocd in listaOrdCompraDet)
                    {
                        importe = Math.Round(ocd.Ord_Cantidad * ocd.ProductoPrecio.Prd_Pesos, 2);
                        XML_Enviar.Append(" <Partida");
                        XML_Enviar.Append(" ocnumsian=\"" + ocd.Id_Ord + "\"");
                        XML_Enviar.Append(" oczonnumsian=\"" + ocd.Id_Cd + "\"");
                        XML_Enviar.Append(" ocimportesian=\"" + importe + "\"");
                        XML_Enviar.Append(" occantidadsian=\"" + ocd.Ord_Cantidad + "\"");
                        XML_Enviar.Append(" ocprocostosian=\"" + ocd.ProductoPrecio.Prd_Pesos + "\"");
                        XML_Enviar.Append(" ocprounidadsian=\"" + ocd.Producto.Prd_UniNe + "\"");
                        XML_Enviar.Append(" ocpropresensian=\"" + ocd.Producto.Prd_Presentacion + "\"");
                        XML_Enviar.Append(" ocprodescsian=\"" + ocd.Producto.Prd_Descripcion.ToString().Replace("\"", "").Replace("'", "").Replace("&", "")
                                          + "\"");
                        XML_Enviar.Append(" ocpronumsian=\"" + ocd.Id_Prd + "\"");
                        XML_Enviar.Append(" />");
                    }
                }



                XML_Enviar.Append(" </Detalle>");
                XML_Enviar.Append(" </OrdenCompra>");

                XmlDocument xml = new XmlDocument();

                xml.LoadXml(XML_Enviar.ToString());

                XmlNode OrdenCompra = xml.SelectSingleNode("OrdenCompra");
                OrdenCompra.Attributes["fecha"].Value        = string.Format("{0:s}", ordCompra.Ord_Fecha);
                OrdenCompra.Attributes["ocnumsian"].Value    = ordCompra.Id_Ord.ToString();
                OrdenCompra.Attributes["oczonnumsian"].Value = ordCompra.Id_Cd.ToString();


                XmlNode Cabecera = OrdenCompra.SelectSingleNode("Encabezado");

                Cabecera.Attributes["ocnumsian"].Value    = ordCompra.Id_Ord.ToString();
                Cabecera.Attributes["oczonnumsian"].Value = Cd.Id_Cd.ToString();
                Cabecera.Attributes["octransian"].Value   = Cd.Cd_NumMacola != null?Cd.Cd_NumMacola.ToString() : Cd.Id_Cd.ToString();

                Cabecera.Attributes["ocinvsian"].Value      = ordCompra.Id_Ord.ToString();
                Cabecera.Attributes["octotalsian"].Value    = "0";
                Cabecera.Attributes["oczoncpsian"].Value    = Cd.Cd_CP.ToString();
                Cabecera.Attributes["oczonlnum"].Value      = Cd.Cd_Numero.ToString();
                Cabecera.Attributes["oczonedo"].Value       = Cd.Cd_Descripcion;
                Cabecera.Attributes["oczoncd"].Value        = Cd.Cd_Descripcion.ToString();
                Cabecera.Attributes["oczoncolsian"].Value   = Cd.Cd_Colonia.ToString();
                Cabecera.Attributes["oczoncallesian"].Value = Cd.Cd_Calle.ToString();
                Cabecera.Attributes["ocusunommacola"].Value = "100";
                Cabecera.Attributes["ocusunummacola"].Value = "0";
                Cabecera.Attributes["ocfechamacola"].Value  = string.Format("{0:s}", ordCompra.Ord_Fecha);;
                Cabecera.Attributes["ocfechasian"].Value    = string.Format("{0:s}", ordCompra.Ord_Fecha);;
                Cabecera.Attributes["ocusunomsian"].Value   = Cd.Cd_Descripcion.ToString();
                Cabecera.Attributes["ocusunumsian"].Value   = ordCompra.Id_Pvd.ToString();
                Cabecera.Attributes["oczondescsian"].Value  = Cd.Cd_Descripcion.ToString();



                StringWriter  sw = new StringWriter();
                XmlTextWriter tx = new XmlTextWriter(sw);
                xml.WriteTo(tx);
                string xmlString = sw.ToString();

                //throw new Exception(sw.ToString());



                XmlDocument xmlOrdenCompra = new XmlDocument();


                OrdendeCompra.Service1 sianEnvioOrdendeCompra = new OrdendeCompra.Service1();


                object sianEnvioOrdendeCompraResult = sianEnvioOrdendeCompra.OrdenCompra(xmlString);

                // xmlOrdenCompra.LoadXml(sianEnvioOrdendeCompraResult.ToString());


                int verificador = 0;
                ordCompra.Id_Emp      = Id_Emp;
                ordCompra.Id_Cd       = Id_Cd;
                ordCompra.Id_Ord      = Id_Ord;
                ordCompra.Ord_Estatus = "I";
                new CN_CapOrdenCompra().ModificarOrdenCompra_Estatus(ordCompra, sesion.Emp_Cnx, ref verificador);

                try
                {
                    ordCompra.Ord_EstatusEmision = Convert.ToInt32(sianEnvioOrdendeCompraResult);
                }
                catch (FormatException e)
                {
                    ordCompra.Ord_EstatusEmision = 5;
                }


                ordCompra.Ord_EstatusEmisionStr = getEstatusEmision(ordCompra.Ord_EstatusEmision);

                new CN_CapOrdenCompra().ModificarOrdenCompra_EstatusEmision(ordCompra, sesion.Emp_Cnx, ref verificador);

                Alerta(getEstatusEmision(ordCompra.Ord_EstatusEmision));

                if (ordCompra.Ord_EstatusEmision == 1)
                {
                    this.OrdenCompra_Impresion(Id_Emp, Id_Cd, Id_Ord, fechaOrden, Ord_EstatusStr);
                }
                // RAM1.ResponseScripts.Add("Alert('" + sianEnvioOrdendeCompraResult.ToString() + "')");
            }
            catch (Exception ex)
            {
                this.EnviaEmail(ex.ToString());
                throw ex;
            }
        }
Esempio n. 6
0
        private List <string> OrdenCompra_CrearURL_EnvioInternet(int Id_Emp, int Id_Cd, int Id_Ord)
        {
            try
            {
                Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID];
                //Consulta encabezado de la orden de compra
                OrdenCompra ordCompra = new OrdenCompra();
                ordCompra.Id_Emp = Id_Emp;
                ordCompra.Id_Cd  = Id_Cd;
                ordCompra.Id_Ord = Id_Ord;
                new CN_CapOrdenCompra().ConsultaOrdenCompra(ref ordCompra, sesion.Emp_Cnx);
                //Consulta detalle de la orden de compra
                List <OrdenCompraDet> listaOrdCompraDet = new List <OrdenCompraDet>();
                OrdenCompraDet        ordenCompraDet    = new OrdenCompraDet();

                ordenCompraDet.Id_Emp = Id_Emp;
                ordenCompraDet.Id_Cd  = Id_Cd;
                ordenCompraDet.Id_Ord = Id_Ord;
                new CN_CapOrdenCompraDet().ConsultaOrdenCompraDetalle_Lista(ordenCompraDet, sesion.Emp_Cnx, ref listaOrdCompraDet);

                //Consulta centro de distribución
                CentroDistribucion Cd = new CentroDistribucion();
                new CN_CatCentroDistribucion().ConsultarCentroDistribucion(ref Cd, ordCompra.Id_Cd, ordCompra.Id_Emp, sesion.Emp_Cnx);

                //construir URL
                List <string>             arregloURL = new List <string>();
                System.Text.StringBuilder URL        = new System.Text.StringBuilder();
                foreach (OrdenCompraDet ordComDet in listaOrdCompraDet)
                {
                    URL.Clear();
                    URL.Append(string.Concat("http://148.244.244.141/oc/SubeDetalleOC.asp?oczonnumsian=", Cd.Id_Cd.ToString()));
                    URL.Append(string.Concat("&ocnumsian=", ordCompra.Id_Ord.ToString()));
                    URL.Append(string.Concat("&ocpronumsian=", ordComDet.Producto.Id_Prd));
                    URL.Append(string.Concat("&ocprodescsian=", ordComDet.Producto.Prd_Descripcion));
                    URL.Append(string.Concat("&ocpropresensian=", ordComDet.Producto.Prd_Presentacion));
                    URL.Append(string.Concat("&ocprounidadsian=", ordComDet.Producto.Prd_UniNe));
                    URL.Append(string.Concat("&ocprocostosian=", ordComDet.ProductoPrecio.Prd_Pesos.ToString()));
                    URL.Append(string.Concat("&ocantidadsian=", ordComDet.Ord_Cantidad.ToString()));
                    URL.Append(string.Concat("&ocimportesian=", (ordComDet.Ord_Cantidad * ordComDet.ProductoPrecio.Prd_Pesos).ToString()));
                    arregloURL.Add(URL.ToString());
                }
                //Crear URL de datos de encabezado
                URL.Clear();
                URL.Append(string.Concat("http://148.244.244.141/oc/SubeFinalSuc.asp?oczonnumsian=", Cd.Id_Cd.ToString()));
                URL.Append(string.Concat("&oczondescsian=", Cd.Cd_Descripcion));
                URL.Append(string.Concat("&ocnumsian=", ordCompra.Id_Ord.ToString()));
                URL.Append(string.Concat("&ocusunumsian=", Cd.Cd_NumMacola != null ? Cd.Cd_NumMacola.ToString() : "0")); //"27868"
                URL.Append(string.Concat("&ocusunomsian=", Cd.Cd_Descripcion));
                URL.Append(string.Concat("&oczoncallesian=", Cd.Cd_Calle));
                URL.Append(string.Concat("&oczoncolsian=", Cd.Cd_Colonia));
                URL.Append(string.Concat("&oczoncd=", Cd.Cd_Ciudad));
                URL.Append(string.Concat("&oczonedo=", Cd.Cd_Estado));
                URL.Append(string.Concat("&oczonlnum=", Cd.Cd_Numero));
                URL.Append(string.Concat("&oczoncpsian=", Cd.Cd_CP));
                URL.Append(string.Concat("&octotalsian=0"));
                URL.Append(string.Concat("&ocinvsian=0"));
                URL.Append(string.Concat("&octransian=0"));
                arregloURL.Add(URL.ToString());

                return(arregloURL);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }