//-----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; } }
//public Reg_PedidoCxpress() public Ent_Cexpress sendCexpress(string _ven_id, ref string nroserv) { /*Inicio Carga de Data para Envio*/ Boolean valida = false; DataTable dt = null; Ent_Cexpress post_data = null; /*Fin Carga*/ obj1 = new WSOrdenServicioClient(); comercioxpress.EnviaPedidoCxpress d = new EnviaPedidoCxpress(); comercioxpress.OrdenServicioReqParm objcla = new OrdenServicioReqParm(); comercioxpress.WSOrdenServicioClient dd = new WSOrdenServicioClient(); comercioxpress.EnviaPedidoCxpress s = new EnviaPedidoCxpress(); //s. //dd. // var r = obj1.registrar(dd); // //obj1.re // Boolean valida = false; ////DataTable dt = null; //Ent_Cexpress post_data = null; try { /*inicio Data */ post_data = new Ent_Cexpress(); Dat_Cexpress data_Cexpress = new Dat_Cexpress(); //Ent_Urbano acceso = data_urbano.get_acceso(); dt = data_Cexpress.get_data(_ven_id); ; if (dt != null) { if (dt.Rows.Count > 0) { /*agrupamos los pedidos*/ var grupo_pedido = from item in dt.AsEnumerable() group item by new { 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["nom_cliente"]), ape_cliente = Convert.ToString(item["ape_cliente"]), tipdoc_clie = Convert.ToString(item["tipdoc_clie"]), nro_telf = Convert.ToString(item["ref_telef"]).Split('/')[0], nro_telf_mobil = Convert.ToString(item["ref_telef"]).Split('/')[1], 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.ToInt32(item["tot_cant"].ToString()), } 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, ape_cliente = G.Key.ape_cliente, tipdoc_clie = G.Key.tipdoc_clie, 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_prov = G.Key.ubi_direc.Substring(2, 2), ubi_dist = G.Key.ubi_direc.Substring(4, 2), ref_direc = G.Key.ref_direc, peso_total = G.Key.peso_total, cant_total = G.Key.cant_total, }; /*fin cab*/ /*inicio*/ /*recorremos los pedidos para agregar al pedido*/ foreach (var key in grupo_pedido) { /* inicio cab*/ //string[] nroPedido = { "F09500000013" }; //objcla.nroPedido = new String[] { "Ped-1234567" };// nroPedido; //objcla.nroPedido = new String[] { _ven_id };// nroPedido; //objcla.nroPedido = new String[] { _gia_presta };// nroPedido; //objcla.nroPedido = new String[] { key.nro_guia_trans };// nroPedido; ok objcla.nroPedido = new String[] { key.nro_guia_trans };// nroPedido; ok 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.ToInt32(item["peso_sku"]), cantidad_sku = Convert.ToInt32(item["cantidad_sku"]), }; ///*Inicio Det Item*/ List <Integrado.comercioxpress.item> lista = new List <comercioxpress.item>(); List <Ent_Producto> productos_items = new List <Ent_Producto>(); foreach (var key_det in ped_det) { Integrado.comercioxpress.item objdet = new Integrado.comercioxpress.item(); objdet.descItem = new String[] { key_det.cod_sku }; objdet.cantItem = new int[] { key_det.cantidad_sku }; objdet.pesoMasa = new float[] { key_det.peso_sku }; objdet.altoItem = new float[] { 1 }; objdet.largoItem = new float[] { 1 }; objdet.anchoItem = new float[] { 1 }; objdet.valorItem = new float[] { 1 }; lista.Add(objdet); } objcla.listaItems = lista.ToArray(); obj1.registrar(objcla); ///*Info*/ // Use StringBuilder for concatenation in tight loops. //var sb = new System.Text.StringBuilder(); //for (int i = 0; i < 20; i++) //{ // sb.AppendLine(i.ToString()); //} //System.Console.WriteLine(sb.ToString()); ///*Inicio Det Item*/ //List<Integrado.comercioxpress.item> lista = new List<comercioxpress.item>(); //Integrado.comercioxpress.item objdet = new Integrado.comercioxpress.item(); //objdet.descItem = new String[] { vdescr_sku.ToString() }; //objdet.cantItem = new int[] { 1, 1, 8}; //objdet.pesoMasa = new float[] { 1, 5, 6 }; //objdet.altoItem = new float[] { 1, 2, 3 }; //objdet.largoItem = new float[] { 1, 2, 3 }; //objdet.anchoItem = new float[] { 1, 2, 3 }; //objdet.valorItem = new float[] { 0, 2, 3 }; //lista.Add(objdet); //objcla.listaItems = lista.ToArray(); //obj1.registrar(objcla); ///*Info*/ objcla.volumen = new double[] { 10 }; //No hay objcla.tipoServicio = new long[] { 101 }; // /*Codigos para prueba 141 y 142*/ objcla.codCliente = new long[] { 467 }; //entregado por CX 141 objcla.codCtaCliente = new long[] { 493 }; //entregado por CX objcla.cantPiezas = new int[] { key.cant_total }; objcla.codRef1 = new String[] { "0012071801" }; //opsional objcla.codRef2 = new String[] { "0012071801" }; //opsional objcla.valorProducto = new double[] { 1 }; objcla.tipoOrigenRecojo = new int[] { 1 }; objcla.codTipoDocProveedor = new long[] { 112 }; //entregado por CX /*Para nroDocProveedor 20145556666*/ objcla.nroDocProveedor = new String[] { "20101951872" }; ///20145556666 /*Para codDireccionProveedor 900055*/ objcla.codDireccionProveedor = new long[] { 900652 }; //entregado por CX 0900055 objcla.indicadorGeneraRecojo = new int[] { 1 }; objcla.tipoDestino = new int[] { 1 }; objcla.direccEntrega = new String[] { key.dir_entrega }; // Dirección de entrega //Ubigeo dirección entrega key.ubi_direc objcla.refDireccEntrega = new String[] { key.ref_direc }; //Referencia dirección entrega objcla.codDepartEntrega = new String[] { "15" }; //Departamento = Lima objcla.codProvEntrega = new String[] { key.ubi_prov }; //Provincia = Lima objcla.codDistEntrega = new String[] { key.ubi_dist }; objcla.nomDestEntrega = new String[] { key.nom_cliente }; objcla.apellDestEntrega = new String[] { key.ape_cliente }; //"Perez Luna" objcla.codTipoDocDestEntrega = new String[] { key.tipdoc_clie }; objcla.nroDocDestEntrega = new String[] { key.cod_cliente }; //"12345678" objcla.telefDestEntrega = new String[] { key.nro_telf_mobil }; //"991276768" objcla.emailDestEntrega = new String[] { key.correo_elec }; //"*****@*****.**" objcla.idUsuario = new String[] { "EMPRESA S.A.C." }; objcla.deTerminal = new String[] { "LIMA" }; } /*fin*/ var e = dd.registrar(objcla); nroserv = e.nroOrdenServicio.ToString(); //nroserv = e.listaPiezas[0].nuPieza.ToString(); } } } catch (Exception exc) { //_error = exc.Message; post_data = null; } //catch (Exception) //{ // post_data=null; //} return(post_data); }