Beispiel #1
0
        /// <summary>
        /// actualizar la guia de urbano a prestashop
        /// </summary>
        public void UpdGuiaUrbano_Prestashop()
        {
            DataTable dtguia_urbano = null;

            try
            {
                Dat_Urbano guias_urbano = new Dat_Urbano();
                dtguia_urbano = guias_urbano.getguiaUrbano();

                if (dtguia_urbano != null)
                {
                    if (dtguia_urbano.Rows.Count > 0)
                    {
                        foreach (DataRow fila in dtguia_urbano.Rows)
                        {
                            string   guia_prestashop = fila["Ven_Pst_Ref"].ToString();
                            string   guia_urbano     = fila["Ven_Guia_Urbano"].ToString();
                            string[] valida          = ActualizaTrackin(guia_prestashop, guia_urbano);

                            /*el valor 1 quiere decir que actualizo prestashop*/
                            if (valida[0] == "1")
                            {
                                guias_urbano.updprestashopGuia(guia_prestashop, guia_urbano);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #2
0
        public static void act_presta_urbano(string ven_id, ref string error, ref string cod_urbano)
        {
            Dat_PrestaShop action_presta = null;
            Dat_Urbano     data_urbano   = null;

            error = "";
            try
            {
                string guia_presta = ""; string guia_urb = "";
                action_presta = new Dat_PrestaShop();
                data_urbano   = new Dat_Urbano();
                action_presta.get_guia_presta_urba(ven_id, ref guia_presta, ref guia_urb);

                if (guia_presta.Trim().Length > 0)
                {
                    UpdaEstado updateestado = new UpdaEstado();
                    Boolean    valida       = updateestado.ActualizarReference(guia_presta);

                    if (valida)
                    {
                        action_presta.updestafac_prestashop(guia_presta);

                        /*enviamos urbano la guia*/
                        EnviaPedido envia = new EnviaPedido();
                        //intentando 3 veces
                        for (Int32 i = 0; i < 3; ++i)
                        {
                            Ent_Urbano ent_urbano = envia.sendUrbano(ven_id);
                            if (ent_urbano.error == "1")
                            {
                                if (ent_urbano.guia.Trim().Length > 0)
                                {
                                    data_urbano.update_guia(guia_presta, ent_urbano.guia);
                                    guia_urb = ent_urbano.guia;
                                    break;
                                }
                            }
                        }
                        //guia_urb=
                        //action_presta.get_guia_presta_urba(ven_id, ref guia_presta, ref guia_urb);

                        ActTracking enviaguia_presta = new ActTracking();
                        string[]    valida_prest     = enviaguia_presta.ActualizaTrackin(guia_presta, guia_urb);
                        /*el valor 1 quiere decir que actualizo prestashop*/
                        if (valida_prest[0] == "1")
                        {
                            data_urbano.updprestashopGuia(guia_presta, guia_urb);
                        }

                        cod_urbano = guia_urb;
                        /************************/
                    }
                }
            }
            catch (Exception exc)
            {
                cod_urbano = "";
                error      = exc.Message;
            }
        }
Beispiel #3
0
        //-----INICIO---SB-VTEX2020---20201222_12:57----
        //public Ent_Urbano sendUrbano(string _ven_id)
        public Ent_Urbano sendUrbano(string _ven_id, string tienda_id)
        //-----FIN---SB-VTEX2020---20201222_12:57----
        {
            Boolean    valida    = false;
            DataTable  dt        = null;
            Ent_Urbano post_data = null;

            try
            {
                post_data = new Ent_Urbano();
                Dat_Urbano data_urbano = new Dat_Urbano();
                Ent_Urbano acceso      = data_urbano.get_acceso();
                //-----INICIO---SB-VTEX2020---20201222_12:57----
                //dt = data_urbano.get_data(_ven_id);
                dt = data_urbano.get_data(_ven_id, tienda_id);
                //-----FIN---SB-VTEX2020---20201222_12:57----
                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        /*agrupamos los pedidos*/
                        var grupo_pedido = from item in dt.AsEnumerable()
                                           group item by
                                           new
                        {
                            // Modificado por : Henry Morales - 21/05/2018
                            // Se cambiaron los nombres y telefonos, para ser tomados los de referencia entrega
                            cod_rastreo    = Convert.ToString(item["cod_rastreo"]),
                            fech_emi_vent  = Convert.ToString(item["fech_emi_vent"].ToString()),
                            nro_guia_trans = Convert.ToString(item["nro_guia_trans"]),
                            nro_factura    = Convert.ToString(item["nro_factura"].ToString()),
                            cod_empresa    = Convert.ToString(item["cod_empresa"].ToString()),
                            nom_empresa    = Convert.ToString(item["nom_empresa"].ToString()),
                            cod_cliente    = Convert.ToString(item["cod_cliente"]),
                            nom_cliente    = Convert.ToString(item["ref_nombre"]),
                            //nom_cliente = Convert.ToString(item["nom_cliente"]),
                            nro_telf = Convert.ToString(item["ref_telef"]).Split('/')[0],
                            //nro_telf = Convert.ToString(item["nro_telf"]),
                            nro_telf_mobil = Convert.ToString(item["ref_telef"]).Split('/')[1],
                            //nro_telf_mobil = Convert.ToString(item["nro_telf_mobil"]),
                            correo_elec = Convert.ToString(item["correo_elec"].ToString()),
                            dir_entrega = Convert.ToString(item["dir_entrega"].ToString()),
                            ubi_direc   = Convert.ToString(item["ubi_direc"].ToString()),
                            ref_direc   = Convert.ToString(item["ref_direc"].ToString()),
                            peso_total  = Convert.ToDecimal(item["peso_total"].ToString()),
                            cant_total  = Convert.ToDecimal(item["tot_cant"].ToString()),
                            //se agrego nuevos campos por seguro de pedidos
                            asegurado       = item["asegurado"].ToString(),
                            monto_asegurado = Convert.ToDecimal(item["monto_asegurado"]),

                            //se agrego nuevos campos para la identificacion de direccion de las tiendas de origen - 11/11/2021
                            venta_seller  = item["venta_seller"].ToString(),
                            codigo_tienda = tienda_id,
                        }
                        into G
                            select new
                        {
                            cod_rastreo    = G.Key.cod_rastreo,
                            fech_emi_vent  = G.Key.fech_emi_vent,
                            nro_guia_trans = G.Key.nro_guia_trans,
                            nro_factura    = G.Key.nro_factura,
                            cod_empresa    = G.Key.cod_empresa,
                            nom_empresa    = G.Key.nom_empresa,
                            cod_cliente    = G.Key.cod_cliente,
                            nom_cliente    = G.Key.nom_cliente,
                            nro_telf       = G.Key.nro_telf,
                            nro_telf_mobil = G.Key.nro_telf_mobil,
                            correo_elec    = G.Key.correo_elec,
                            dir_entrega    = G.Key.dir_entrega,
                            ubi_direc      = G.Key.ubi_direc,
                            ref_direc      = G.Key.ref_direc,
                            peso_total     = G.Key.peso_total,
                            cant_total     = G.Key.cant_total,
                            //se agrego nuevos campos por seguro de pedidos
                            asegurado       = G.Key.asegurado,
                            monto_asegurado = G.Key.monto_asegurado,

                            //se agrego nuevos campos para la identificacion de direccion de las tiendas de origen - 11/11/2021
                            venta_seller  = G.Key.venta_seller,
                            codigo_tienda = G.Key.codigo_tienda,
                        };


                        /*recorremos los pedidos para agregar al pedido*/
                        foreach (var key in grupo_pedido)
                        {
                            #region <DATOS DEL PEDIDO CAB>
                            GuiaUrbano guiaUrbano = new GuiaUrbano();
                            guiaUrbano.linea          = acceso.linea;              //Linea, "3", dato de proveedor logístico==>desde la base de datos , estatico
                            guiaUrbano.id_contrato    = acceso.contrato;           //ID de contrato, 7207, dato de proveedor logístico==>desde la base de datos , estatico
                            guiaUrbano.cod_rastreo    = key.cod_rastreo;           //Codigo de rastreo, # de orden de Prestashop ==> Referencia de pedido
                            guiaUrbano.cod_barra      = key.cod_rastreo;           //Codigo de barra, # de orden de Prestashop ==> Referencia de pedido
                            guiaUrbano.fech_emi_vent  = key.fech_emi_vent;         //Fecha de emisión de venta==> fecha de venta
                            guiaUrbano.nro_o_compra   = key.cod_rastreo;           //# de orden de compra==> # de orden de Prestashop ==> Referencia de pedido
                            guiaUrbano.nro_guia_trans = key.nro_guia_trans;        //# de guía de transporte==># numero de guia sistemas
                            guiaUrbano.nro_factura    = key.nro_factura;           //# de factura ==> # numero desde base
                            guiaUrbano.cod_empresa    = key.cod_empresa;           //RUC BATA ==> # desde base
                            guiaUrbano.nom_empresa    = key.nom_empresa;           //BATA - Emcomer S.A. ==> # desde base
                            guiaUrbano.cod_cliente    = key.cod_cliente;           //DNI - RUC cliente ==> # desde base
                            guiaUrbano.nom_cliente    = key.nom_cliente;           //Nombre de cliente ==> # desde base
                            guiaUrbano.nro_telf       = key.nro_telf;              //# de teléfono de cliente ==> # desde base
                            guiaUrbano.nro_telf_mobil = key.nro_telf_mobil;        //# de celular de cliente ==> # desde base
                            guiaUrbano.correo_elec    = key.correo_elec;           //Email de cliente ==> # desde base
                            guiaUrbano.dir_entrega    = key.dir_entrega;           // Dirección de entrega
                            guiaUrbano.nro_via        = "";                        //# de vía
                            guiaUrbano.nro_int        = "";                        //# de interior
                            guiaUrbano.nom_urb        = "";                        //Nombre de urbanización
                            guiaUrbano.ubi_direc      = key.ubi_direc;             //Ubigeo dirección entrega
                            guiaUrbano.ref_direc      = key.ref_direc;             //Referencia dirección entrega
                            guiaUrbano.peso_total     = key.peso_total.ToString(); //Peso total, 0.3g por defecto para cada par
                            guiaUrbano.pieza_total    = key.cant_total.ToString(); //Cantidad total, No se considera el Envío
                                                                                   //guiaUrbano.pieza_total = "3";//# de bultos
                            guiaUrbano.asegurado       = key.asegurado;            //Indicador de pedido asegurado SI/NO
                            guiaUrbano.monto_asegurado = key.monto_asegurado;      //Monto total asegurado por pedido

                            //se agrego nuevos campos para la identificacion de direccion de las tiendas de origen - 11/11/2021
                            guiaUrbano.venta_seller = key.venta_seller;
                            guiaUrbano.sell_codigo  = key.codigo_tienda;
                            #endregion


                            var ped_det = from item in dt.AsEnumerable()
                                          where item.Field <string>("cod_rastreo") == Convert.ToString(key.cod_rastreo)
                                          select new
                            {
                                cod_sku      = item["cod_sku"].ToString(),
                                descr_sku    = Convert.ToString(item["descr_sku"]),
                                modelo_sku   = Convert.ToString(item["modelo_sku"]),
                                marca_sku    = Convert.ToString(item["marca_sku"]),
                                peso_sku     = Convert.ToDecimal(item["peso_sku"]),
                                cantidad_sku = Convert.ToDecimal(item["cantidad_sku"]),
                            };
                            List <Ent_Producto> productos_items = new List <Ent_Producto>();
                            foreach (var key_det in ped_det)
                            {
                                Ent_Producto prod_item = new Ent_Producto
                                {
                                    cod_sku      = key_det.cod_sku,
                                    descr_sku    = key_det.descr_sku,
                                    modelo_sku   = key_det.modelo_sku,
                                    marca_sku    = key_det.marca_sku,
                                    peso_sku     = key_det.peso_sku.ToString(),
                                    cantidad_sku = key_det.cantidad_sku.ToString()
                                };
                                productos_items.Add(prod_item);
                            }
                            guiaUrbano.productos = productos_items;
                            #region <CONSTRUEY CADENA PARA ENVIO A URBANO>
                            //Construyendo cadena
                            string guiaEncoded = "";
                            guiaEncoded += "%22linea%22%3A%22" + guiaUrbano.linea + "%22%2C";
                            guiaEncoded += "%22id_contrato%22%3A%22" + guiaUrbano.id_contrato + "%22%2C";
                            guiaEncoded += "%22cod_rastreo%22%3A%22" + guiaUrbano.cod_rastreo + "%22%2C";
                            guiaEncoded += "%22cod_barra%22%3A%22" + guiaUrbano.cod_barra + "%22%2C";
                            guiaEncoded += "%22fech_emi_vent%22%3A%22" + HttpUtility.UrlEncode(guiaUrbano.fech_emi_vent) + "%22%2C";
                            guiaEncoded += "%22nro_o_compra%22%3A%22" + guiaUrbano.nro_o_compra + "%22%2C";
                            guiaEncoded += "%22nro_guia_trans%22%3A%22" + guiaUrbano.nro_guia_trans + "%22%2C";
                            guiaEncoded += "%22nro_factura%22%3A%22" + guiaUrbano.nro_factura + "%22%2C";
                            guiaEncoded += "%22cod_empresa%22%3A%22" + guiaUrbano.cod_empresa + "%22%2C";
                            //guiaEncoded += "%22nom_empresa%22%3A%22" + HttpUtility.UrlEncode(guiaUrbano.nom_empresa) + "%22%2C";
                            guiaEncoded += "%22cod_cliente%22%3A%22" + guiaUrbano.cod_cliente + "%22%2C";
                            guiaEncoded += "%22nom_cliente%22%3A%22" + HttpUtility.UrlEncode(guiaUrbano.nom_cliente) + "%22%2C";
                            guiaEncoded += "%22nro_telf%22%3A%22" + guiaUrbano.nro_telf + "%22%2C";
                            guiaEncoded += "%22nro_telf_mobil%22%3A%22" + guiaUrbano.nro_telf_mobil + "%22%2C";
                            guiaEncoded += "%22correo_elec%22%3A%22" + HttpUtility.UrlEncode(guiaUrbano.correo_elec) + "%22%2C";
                            guiaEncoded += "%22dir_entrega%22%3A%22" + HttpUtility.UrlEncode(guiaUrbano.dir_entrega) + "%22%2C";
                            guiaEncoded += "%22nro_via%22%3A%22" + guiaUrbano.nro_via + "%22%2C";
                            guiaEncoded += "%22nro_int%22%3A%22" + guiaUrbano.nro_int + "%22%2C";
                            guiaEncoded += "%22nom_urb%22%3A%22" + guiaUrbano.nom_urb + "%22%2C";
                            guiaEncoded += "%22ubi_direc%22%3A%22" + guiaUrbano.ubi_direc + "%22%2C";
                            guiaEncoded += "%22ref_direc%22%3A%22" + HttpUtility.UrlEncode(guiaUrbano.ref_direc) + "%22%2C";
                            guiaEncoded += "%22peso_total%22%3A%22" + guiaUrbano.peso_total + "%22%2C";
                            guiaEncoded += "%22pieza_total%22%3A%22" + guiaUrbano.pieza_total + "%22%2C";

                            /*se agrego para pedidos asegurados*/
                            guiaEncoded += "%22asegurado%22%3A%22" + guiaUrbano.asegurado + "%22%2C";
                            guiaEncoded += "%22monto_asegurado%22%3A%22" + guiaUrbano.monto_asegurado + "%22%2C";

                            //se agrego nuevos campos para la identificacion de direccion de las tiendas de origen - 11/11/2021
                            guiaEncoded += "%22venta_seller%22%3A%22" + guiaUrbano.venta_seller + "%22%2C";
                            guiaEncoded += "%22sell_codigo%22%3A%22" + guiaUrbano.sell_codigo + "%22%2C";


                            //Construyendo cadena desde lista de productos
                            string productos = "";
                            int    i         = 1;
                            foreach (Ent_Producto p in guiaUrbano.productos)
                            {
                                productos += "%22cod_sku%22%3A%22" + p.cod_sku + "%22%2C";
                                productos += "%22descr_sku%22%3A%22" + HttpUtility.UrlEncode(p.descr_sku) + "%22%2C";
                                productos += "%22modelo_sku%22%3A%22" + p.modelo_sku + "%22%2C";
                                productos += "%22marca_sku%22%3A%22" + HttpUtility.UrlEncode(p.marca_sku) + "%22%2C";
                                productos += "%22peso_sku%22%3A%22" + p.peso_sku + "%22%2C";
                                productos += "%22cantidad_sku%22%3A%22" + p.cantidad_sku + "%22";
                                if (i != guiaUrbano.productos.Count)
                                {
                                    productos += "%7D%2C%7B";
                                }
                                i++;
                            }

                            //Cadena final
                            string content = "json=%7B" + guiaEncoded + "%22productos%22%3A%5B%7B" + productos + "%7D%5D%7D";

                            //Llamando al webservice de Urbano
                            using (WebClient client = new WebClient())
                            {
                                client.Headers.Add("Content-type", "application/x-www-form-urlencoded");
                                client.Headers.Add("user", acceso.usuario);
                                client.Headers.Add("pass", acceso.password);

                                var response = client.UploadString(acceso.url, "POST", content);

                                Ent_Urbano post = JsonConvert.DeserializeObject <Ent_Urbano>(response);

                                //en este paso envia si es que urbano recibio los datos con exito
                                post_data = post;
                                //if (post.error=="1")
                                // {
                                //     if (post.guia.Trim().Length>0)
                                //        data_urbano.update_guia(key.cod_rastreo, post.guia);
                                //}

                                //Console.WriteLine(post.guia);

                                //Console.ReadLine();
                            }
                            #endregion
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                post_data = null;
            }
            return(post_data);
        }
        private string str_etiqueta2(string ven_id)
        {
            try
            {
                Dat_Urbano   dat_etiqueta = new Dat_Urbano();
                Ent_Etiqueta etiqueta     = dat_etiqueta.get_etiqueta(ven_id);

                if (etiqueta.strNroGuia.Length == 0)
                {
                    return("");
                }

                string strNroGuia = etiqueta.strNroGuia;
                //GuiaUrbano oGuia = guiaUrbano;

                // Generar Formato de Información
                string cliente    = etiqueta.cliente;;   //RemoverDiacriticos(oGuia.nom_cliente);
                string empresa    = etiqueta.empresa;    //RemoverDiacriticos(oGuia.nom_empresa);
                string nro_pedido = etiqueta.nro_pedido; //oGuia.nro_o_compra;
                string direccion  = etiqueta.direccion;  //RemoverDiacriticos(oGuia.dir_entrega + " " + oGuia.nro_via + " " + oGuia.nro_int);
                string referencia = etiqueta.referencia; //; RemoverDiacriticos(oGuia.ref_direc);
                string ubigeo     = etiqueta.ubigeo;     // RemoverDiacriticos(GenerarNombreUbigeo(oGuia.ubi_direc) + oGuia.ubi_direc);
                string cod_refer  = etiqueta.cod_refer;
                string telefonos  = etiqueta.telefono;

                direccion = direccion + " - " + ubigeo;

                //-- Modificado por  : Henry Morales - 17/05/2018
                //-- Asunto          : Se modifico para que muestre el código Alfanumérico en lugar del número
                StringBuilder strb = new StringBuilder();
                strb.Append("^XA\n");                       // - Inic. Etiqueta
                strb.Append("^CI27\n");                     // - Imprimir Caracteres Latinos
                strb.Append("^JMA\n");                      // - Resolución: A=8d/mm, B=8d/mm
                strb.Append("^PRC\n");                      // - Velocidad impresion 4pulg/seg.
                strb.Append("^FWN\n");                      // - Sin Rotar
                strb.Append("^BY2,,20^FS\n");               // - Ancho y Alto de Código de Barras
                strb.Append("^LH 0,20\n");                  // - Set Coordenada Inicial
                //strb.Append("^FO040,105^A0,030,020^FD" + cliente.ToUpper() + "^FS\n");
                //strb.Append("^FO040,135^A0,030,020^FDPEDIDO: " + cod_refer + "^FS\n");
                ////strb.Append("^FO040,135^A0,030,020^FDPEDIDO: " + nro_pedido + "^FS\n");
                //strb.Append("^FO040,015^BCN,62,Y,N,N^FD" + strNroGuia + "^FS\n");
                //strb.Append("^FO460,105^A0,030,020^^FD" + cliente.ToUpper() + "^FS\n");
                //strb.Append("^FO460,135^A0,030,020^FDPEDIDO: " + cod_refer + "^FS\n");
                ////strb.Append("^FO460,135^A0,030,020^FDPEDIDO: " + nro_pedido + "^FS\n");
                //strb.Append("^FO460,015^BCN,62,Y,N,N^FD" + strNroGuia + "^FS\n");
                ////strb.Append("^PQ3^FS\n"); // Imprimir Triple Copia de Etiqueta

                /// agregado 04/06/2018 - Henry Morales
                /// Se ajusta para agregarle datos en la impresión; se modificó el primer margen
                /////////1ra Impresión///////////
                strb.Append("^FO030,105^A0,030,020^FD" + cliente.ToUpper() + "^FS\n");
                strb.Append("^FO030,135^A0,030,020^FDPEDIDO: " + cod_refer + "^FS\n");
                strb.Append("^FO030,165^A0,030,020^FDTELEF.: " + telefonos + "^FS\n");
                // DIRECCION
                if (direccion.Length <= 30)
                {
                    strb.Append("^FO030,195^A0,030,020^FDDIREC.: " + direccion + "^FS\n");
                }
                else
                {
                    strb.Append("^FO030,195^A0,030,020^FDDIREC.: " + direccion.Substring(0, 30) + "^FS\n");
                    if (direccion.Length > 60)
                    {
                        strb.Append("^FO030,225^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(30, 30) + "^FS\n");

                        if (direccion.Length > 90)
                        {
                            strb.Append("^FO030,255^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(60, 30) + "^FS\n");

                            if (direccion.Length > 120)
                            {
                                strb.Append("^FO030,285^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(90, 30) + "^FS\n");
                            }
                            else
                            {
                                strb.Append("^FO030,285^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(90, direccion.Length - 90) + "^FS\n");
                            }
                        }
                        else
                        {
                            strb.Append("^FO030,255^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(60, direccion.Length - 60) + "^FS\n");
                        }
                    }
                    else
                    {
                        strb.Append("^FO030,225^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(30, direccion.Length - 30) + "^FS\n");
                    }
                }
                // REFERENCIA
                if (referencia.Length > 30)
                {
                    strb.Append("^FO030,315^A0,030,020^FDREFER.: " + referencia.Substring(0, 30) + "^FS\n");
                }
                else
                {
                    strb.Append("^FO030,315^A0,030,020^FDREFER.: " + referencia + "^FS\n");
                }
                if (referencia.Length > 30)
                {
                    if (referencia.Length > 60)
                    {
                        strb.Append("^FO030,345^A0,030,020^FD" + "".PadLeft(12) + referencia.Substring(30, 30) + "^FS\n");
                    }
                    else
                    {
                        strb.Append("^FO030,345^A0,030,020^FD" + "".PadLeft(12) + referencia.Substring(30, referencia.Length - 30) + "^FS\n");
                    }
                }
                strb.Append("^FO030,015^BCN,62,Y,N,N^FD" + strNroGuia + "^FS\n");
                /////////////////////////////////
                /////////2da Impresión///////////
                /////////////////////////////////
                strb.Append("^FO460,105^A0,030,020^^FD" + cliente.ToUpper() + "^FS\n");
                strb.Append("^FO460,135^A0,030,020^FDPEDIDO: " + cod_refer + "^FS\n");
                strb.Append("^FO460,165^A0,030,020^FDTELEF.: " + telefonos + "^FS\n");
                // DIRECCION
                if (direccion.Length <= 30)
                {
                    strb.Append("^FO460,195^A0,030,020^FDDIREC.: " + direccion + "^FS\n");
                }
                else
                {
                    strb.Append("^FO460,195^A0,030,020^FDDIREC.: " + direccion.Substring(0, 30) + "^FS\n");
                    if (direccion.Length > 60)
                    {
                        strb.Append("^FO460,225^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(30, 30) + "^FS\n");

                        if (direccion.Length > 90)
                        {
                            strb.Append("^FO460,255^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(60, 30) + "^FS\n");

                            if (direccion.Length > 120)
                            {
                                strb.Append("^FO460,285^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(90, 30) + "^FS\n");
                            }
                            else
                            {
                                strb.Append("^FO460,285^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(90, direccion.Length - 90) + "^FS\n");
                            }
                        }
                        else
                        {
                            strb.Append("^FO460,255^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(60, direccion.Length - 60) + "^FS\n");
                        }
                    }
                    else
                    {
                        strb.Append("^FO460,225^A0,030,020^FD" + "".PadLeft(12) + direccion.Substring(30, direccion.Length - 30) + "^FS\n");
                    }
                }
                // REFERENCIA
                if (referencia.Length > 30)
                {
                    strb.Append("^FO460,315^A0,030,020^FDREFER.: " + referencia.Substring(0, 30) + "^FS\n");
                }
                else
                {
                    strb.Append("^FO460,315^A0,030,020^FDREFER.: " + referencia + "^FS\n");
                }
                if (referencia.Length > 30)
                {
                    if (referencia.Length > 60)
                    {
                        strb.Append("^FO460,345^A0,030,020^FD" + "".PadLeft(12) + referencia.Substring(30, 30) + "^FS\n");
                    }
                    else
                    {
                        strb.Append("^FO460,345^A0,030,020^FD" + "".PadLeft(12) + referencia.Substring(30, referencia.Length - 30) + "^FS\n");
                    }
                }
                strb.Append("^FO460,015^BCN,62,Y,N,N^FD" + strNroGuia + "^FS\n");
                /// agregado 04/06/2018 - Henry Morales
                strb.Append("^XZ\n");
                return(strb.ToString());
            }
            catch (Exception)
            {
                throw;
            }
        }
        private string str_etiqueta(string ven_id)
        {
            try
            {
                Dat_Urbano   dat_etiqueta = new Dat_Urbano();
                Ent_Etiqueta etiqueta     = dat_etiqueta.get_etiqueta(ven_id);

                if (etiqueta.strNroGuia.Length == 0)
                {
                    return("");
                }

                string strNroGuia = etiqueta.strNroGuia;
                //GuiaUrbano oGuia = guiaUrbano;

                // Generar Formato de Información
                string cliente    = etiqueta.cliente;;   //RemoverDiacriticos(oGuia.nom_cliente);
                string empresa    = etiqueta.empresa;    //RemoverDiacriticos(oGuia.nom_empresa);
                string nro_pedido = etiqueta.nro_pedido; //oGuia.nro_o_compra;
                string direccion  = etiqueta.direccion;  //RemoverDiacriticos(oGuia.dir_entrega + " " + oGuia.nro_via + " " + oGuia.nro_int);
                string referencia = etiqueta.referencia; //; RemoverDiacriticos(oGuia.ref_direc);
                string ubigeo     = etiqueta.ubigeo;     // RemoverDiacriticos(GenerarNombreUbigeo(oGuia.ubi_direc) + oGuia.ubi_direc);
                string cod_refer  = etiqueta.cod_refer;

                // *** 2018-04-27
                // Generar Código ZPL
                StringBuilder strb = new StringBuilder();
                strb.Append("^XA\n");                       // - Inic. Etiqueta
                strb.Append("^CI27\n");                     // - Imprimir Caracteres Latinos
                strb.Append("^JMA\n");                      // - Resolución: A=8d/mm, B=8d/mm
                strb.Append("^PRC\n");                      // - Velocidad impresion 4pulg/seg.
                strb.Append("^FWN\n");                      // - Sin Rotar
                strb.Append("^BY3,,70^FS\n");               // - Ancho y Alto de Código de Barras
                strb.Append("^LH 0,20\n");                  // - Set Coordenada Inicial
                strb.Append("^FO040,040^GB700,696,2^FS\n"); // - Formato de Tabla
                strb.Append("^FO040,040^GB700,060,2^FS\n");
                strb.Append("^FO040,098^GB700,190,2^FS\n");
                strb.Append("^FO040,286^GB700,050,2^FS\n");
                strb.Append("^FO040,334^GB700,070,2^FS\n");
                strb.Append("^FO040,402^GB700,070,2^FS\n");
                strb.Append("^FO040,470^GB700,070,2^FS\n");
                strb.Append("^FO040,538^GB700,070,2^FS\n");
                strb.Append("^FO040,606^GB700,070,2^FS\n");
                strb.Append("^FO060,055^A0,060,030^FDNro. Guia: " + strNroGuia + "^FS\n");
                strb.Append("^FO630,068^A0,040,030^FDCourier^FS\n");
                strb.Append("^FO270,300^A0,040,028^FDInformacion de Envio^FS\n");
                strb.Append("^FO270,300^A0,041,028^FDInformacion de Envio^FS\n");
                strb.Append("^FO060,365^A0,035,025^FDRemitente :^FS\n");
                strb.Append("^FO195,362^A0,042,035^FD" + empresa + "^FS\n");
                strb.Append("^FO060,430^A0,035,025^FDDestinatario :^FS");
                strb.Append("^FO195,428^A0,042,035^FD" + cliente + "^FS\n");
                strb.Append("^FO195,495^A0,040,028^FD" + direccion + "^FS\n");
                strb.Append("^FO195,562^A0,040,028^FD" + referencia + "^FS\n");
                strb.Append("^FO195,632^A0,040,028^FD" + ubigeo + "^FS\n");
                strb.Append("^FO060,687^A0,060,030^FDNro. Pedido: " + cod_refer + "^FS\n");
                strb.Append("^FO200,130^BCN,110,Y,N,N^FD" + strNroGuia + "^FS\n");
                strb.Append("^PQ2^FS\n");
                strb.Append("^XZ\n");
                return(strb.ToString());
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #6
0
        //-----INICIO---SB-VTEX2020---20201222_12:57----
        //public static void act_presta_urbano(string ven_id, ref string error, ref string cod_urbano)
        public static void act_presta_urbano(string ven_id, string tienda_id, ref string error, ref string cod_urbano)
        //-----FIN---SB-VTEX2020---20201222_12:57----
        {
            //string codigo = ven_id.Substring(0,4)+"-"+ven_id.Substring(4,8);

            Dat_PrestaShop action_presta = null;
            Dat_Urbano     data_urbano   = null;

            Dat_Cexpress data_Cexpress = null;

            error = "";
            try
            {
                string guia_presta = ""; string guia_courier = ""; string name_carrier = "";
                action_presta = new Dat_PrestaShop();
                data_urbano   = new Dat_Urbano();
                //action_presta.get_guia_presta_urba(ven_id, ref guia_presta, ref guia_urb, ref name_carrier);
                //-----INICIO---SB-VTEX2020---20201222_12:57----
                action_presta.get_carrier(ven_id, tienda_id, ref guia_presta, ref name_carrier);
                //-----FIN---SB-VTEX2020---20201222_12:57----
                string track_chazki;

                if (guia_presta.Trim().Length > 0)
                {
                    UpdaEstado updateestado = new UpdaEstado();
                    //comentado
                    //-----INICIO---SB-VTEX2020---20201222_12:57----
                    //Boolean valida = (Ent_Global._err_con_mysql) ? true : updateestado.ActualizarReference(guia_presta);/*si la variable global es 1 quiere decir que el mysql esta sin conexion*/
                    //Boolean valida = true;

                    //if (valida)
                    //{
                    //-----FIN---SB-VTEX2020---20201222_12:57----
                    data_Cexpress = new Dat_Cexpress();
                    //action_presta.updestafac_prestashop(guia_presta);
                    //-----INICIO---SB-VTEX2020---20201222_12:57----
                    action_presta.updestafac_prestashop(guia_presta, tienda_id);
                    //-----FIN---SB-VTEX2020---20201222_12:57----
                    EnviaPedidoCxpress envia2  = new EnviaPedidoCxpress();
                    string             nroserv = "";

                    /*enviamos urbano la guia*/
                    EnviaPedido envia = new EnviaPedido();

                    if (name_carrier == "Comercio Xpress")
                    {
                        Ent_Cexpress ent_Cexpress = envia2.sendCexpress(ven_id, ref nroserv);
                    }

                    //intentando 3 veces
                    for (Int32 i = 0; i < 3; ++i)
                    {
                        /*Nuevo*/
                        if (name_carrier == "Comercio Xpress")
                        {
                            //Ent_Cexpress ent_Cexpress = envia2.sendCexpress(ven_id, ref nroserv);
                            action_presta.updestafac_prestashop(guia_presta, tienda_id); // SB: 04-mar AGREGAR EL PARAMETRO TIENDA_ID
                            data_Cexpress.update_guia(guia_presta, nroserv, tienda_id);
                            guia_courier = nroserv;
                            break;
                        }
                        //Chazki - Envíos Express
                        else if (name_carrier.Contains("Chazki"))
                        {
                            EnviarChazki objChazki = new EnviarChazki();

                            string nrodelivery_chazki = objChazki.Envia_Courier_chazki(ven_id, tienda_id);
                            if (nrodelivery_chazki != "")
                            {
                                action_presta.updestafac_prestashop(guia_presta, tienda_id); // SB: 04-mar AGREGAR EL PARAMETRO TIENDA_ID
                                data_Cexpress.update_guia(guia_presta, ven_id, tienda_id);
                                guia_courier = ven_id;
                                break;
                            }
                        }
                        else if (name_carrier.Contains("Savar"))
                        {
                            EnviarSavar objSavar = new EnviarSavar();

                            string nrodelivery_savar = objSavar.Envia_Courier_Savar(ven_id, tienda_id);
                            if (nrodelivery_savar != "")
                            {
                                action_presta.updestafac_prestashop(guia_presta, tienda_id); // SB: 04-mar AGREGAR EL PARAMETRO TIENDA_ID
                                data_Cexpress.update_guia(guia_presta, nrodelivery_savar, tienda_id);
                                guia_courier = nrodelivery_savar;
                                break;
                            }
                        }
                        else if (name_carrier.Contains("Dinet"))
                        {
                            EnviarDinet objDinet = new EnviarDinet();

                            string nrodelivery_dinet = objDinet.Envia_Courier_Dinet(ven_id, tienda_id);
                            if (nrodelivery_dinet != "")
                            {
                                data_Cexpress.update_guia(guia_presta, nrodelivery_dinet, tienda_id);
                                guia_courier = nrodelivery_dinet;
                                break;
                            }
                        }

                        else
                        {
                            //-----INICIO---SB-VTEX2020---20201222_12:57----
                            //Ent_Urbano ent_urbano = envia.sendUrbano(ven_id);
                            Ent_Urbano ent_urbano = envia.sendUrbano(ven_id, tienda_id);
                            //-----FIN---SB-VTEX2020---20201222_12:57----
                            if (ent_urbano.error == "1")
                            {
                                if (ent_urbano.guia.Trim().Length > 0)
                                {
                                    //-----INICIO---SB-VTEX2020---20201222_12:57----
                                    //action_presta.updestafac_prestashop(guia_presta);
                                    //data_urbano.update_guia(guia_presta, ent_urbano.guia);
                                    action_presta.updestafac_prestashop(guia_presta, tienda_id);
                                    data_urbano.update_guia(guia_presta, ent_urbano.guia, tienda_id);
                                    //-----FIN---SB-VTEX2020---20201222_12:57----
                                    guia_courier = ent_urbano.guia;
                                    break;
                                }
                            }
                        }
                    }
                    //guia_urb=
                    //action_presta.get_guia_presta_urba(ven_id, ref guia_presta, ref guia_urb);

                    //-----INICIO---SB-VTEX2020---20201222_12:57----
                    //ActTracking enviaguia_presta = new ActTracking();
                    //    string[] valida_prest;

                    //if (name_carrier == "Chazki - Envíos Express") //para chazki el codigo de seguimiento es el mismo nro de boleta
                    //{
                    //    track_chazki = ven_id.Substring(0, 4) + "-" + ven_id.Substring(4, 8);

                    //    valida_prest = enviaguia_presta.ActualizaTrackin(guia_presta, track_chazki);
                    //}
                    //else
                    //{
                    //       valida_prest = enviaguia_presta.ActualizaTrackin(guia_presta, guia_courier);
                    //}


                    /*el valor 1 quiere decir que actualizo prestashop*/
                    // if (valida_prest[0] == "1" && guia_courier.ToString() != "")
                    // {
                    //     data_urbano.updprestashopGuia(guia_presta, guia_courier);
                    // }

                    data_urbano.updprestashopGuia(guia_presta, tienda_id);
                    //-----FIN---SB-VTEX2020---20201222_12:57----


                    cod_urbano = guia_courier;
                    /************************/
                    //-----INICIO---SB-VTEX2020---20201222_12:57----
                    //string ruta = ConfigurationManager.AppSettings["rutaServicioinvoice"];
                    //try
                    //{
                    //    Dat_VTEX action_vtex = null;
                    //    action_vtex = new Dat_VTEX();
                    //    action_vtex.PreparandoTrama_Actualizar_Estado_Invoice(ruta, ven_id);
                    //}
                    //catch (Exception)
                    //{
                    //    Console.WriteLine("Error-Invoice");
                    //}
                    //-----FIN---SB-VTEX2020---20201222_12:57----
                    //}
                }
            }
            catch (Exception exc)
            {
                cod_urbano = "";
                error      = exc.Message;
            }
        }