public ActionResult Envia_Courier(string IdTienda, string CodInterno, string NroDocumento, string Ruc, string Cliente, string Flag) { Dat_ChatShop datos = new Dat_ChatShop(); var oJRespuesta = new JsonResponse(); if (Flag == "NO") { datos.insertar_ge_chatshop(IdTienda, CodInterno, NroDocumento, ""); oJRespuesta.Message = ("3").ToString(); oJRespuesta.Data = true; oJRespuesta.Success = true; } else { /*delivery CHASKI*/ ChatShop cvCzk = selectVenta(IdTienda, CodInterno); List <Ent_Chazki> list_chazki = new List <Ent_Chazki>(); Dat_CanalVenta datos2 = new Dat_CanalVenta(); string[] desUbigeo = null; desUbigeo = datos2.get_des_ubigeo(cvCzk.informacionTiendaDestinatario.ubigeo); if (desUbigeo == null) { oJRespuesta.Message = ("2").ToString(); oJRespuesta.Data = false; oJRespuesta.Success = false; return(Json(oJRespuesta, JsonRequestBehavior.AllowGet)); } if (cvCzk.informacionTiendaEnvio != null) { /* DATA CHASKI : PRODUCCION*/ Ent_Chazki chazki = new Ent_Chazki(); chazki.storeId = cvCzk.informacionTiendaEnvio.chaski_storeId; // "10411"; // proporcionado por chazki chazki.branchId = cvCzk.informacionTiendaEnvio.chaski_branchId; // proporcionado por chazki chazki.deliveryTrackCode = NroDocumento.Replace("-", ""); chazki.proofPayment = "Ninguna"; // por definir la evindencia que será entregada al cliente chazki.deliveryCost = 0; chazki.mode = "Regular"; //pendiente definir el modo con el que se va a trabajar el canal de venta. chazki.time = ""; chazki.paymentMethod = "Pagado"; chazki.country = "PE"; /* DATA CHASKI : TEST*/ //Ent_Chazki chazki = new Ent_Chazki(); //chazki.storeId = "10411"; //chazki.branchId = "CCSC-B187"; //chazki.deliveryTrackCode = NroDocumento; //chazki.proofPayment = "Ninguna"; // por definir la evindencia que será entregada al cliente //chazki.deliveryCost = 0; //chazki.mode = "Regular"; //pendiente definir el modo con el que se va a trabajar el canal de venta. //chazki.time = ""; //chazki.paymentMethod = "Pagado"; //chazki.country = "PE"; /* DATA ARTICULO*/ List <Ent_ItemSold_2> listItemSold = new List <Ent_ItemSold_2>(); foreach (var producto in cvCzk.detalles) { if (producto.codigoProducto != "9999997" && producto.fd_colo == "") { Ent_ItemSold_2 _item = new Ent_ItemSold_2(); _item.name = producto.nombreProducto; _item.currency = "PEN"; _item.price = Convert.ToDouble(producto.total); _item.weight = 0.3; _item.volumen = 0; _item.quantity = producto.cantidad; _item.unity = "Caja"; _item.size = "M"; listItemSold.Add(_item); } } chazki.listItemSold = listItemSold; chazki.notes = "Entregar a Cliente"; chazki.documentNumber = Ruc; chazki.lastName = ""; //chazki.email = "*****@*****.**"; if (chazki.email == "" || chazki.email == null) { chazki.email = "servicio.clientes.peru @bata.com"; } else { chazki.email = cvCzk.informacionTiendaDestinatario.email; } chazki.phone = cvCzk.informacionTiendaDestinatario.telefono; int CadRuc = Ruc.Length; if (CadRuc > 8) { chazki.documentType = "RUC"; chazki.companyName = Cliente; chazki.name_tmp = ""; } else { chazki.documentType = "DNI"; chazki.companyName = ""; chazki.name_tmp = Cliente; } /* DATA DIRECCION*/ List <Ent_AddressClient_2> listAdressClient = new List <Ent_AddressClient_2>(); Ent_AddressClient_2 addressClient = new Ent_AddressClient_2(); addressClient.nivel_2 = desUbigeo[0]; //(cvCzk.tipo == "3" ? (cvCzk.ubigeoCliente.ToString() == "" ? cvCzk.ubigeoTienda.Substring(0, 2) : cvCzk.ubigeoCliente.Substring(0, 2)) : cvCzk.ubigeoTienda.Substring(0, 2)); addressClient.nivel_3 = desUbigeo[1]; //(cvCzk.tipo == "3" ? (cvCzk.ubigeoCliente.ToString() == "" ? cvCzk.ubigeoTienda.Substring(2, 2) : cvCzk.ubigeoCliente.Substring(2, 2)) : cvCzk.ubigeoTienda.Substring(2, 2)); addressClient.nivel_4 = desUbigeo[2]; //(cvCzk.tipo == "3" ? (cvCzk.ubigeoCliente.ToString() == "" ? cvCzk.ubigeoTienda.Substring(4) : cvCzk.ubigeoCliente.Substring(4)) : cvCzk.ubigeoTienda.Substring(4)); addressClient.name = cvCzk.informacionTiendaDestinatario.direccion_entrega; addressClient.reference = cvCzk.informacionTiendaDestinatario.referencia; addressClient.alias = "No Alias"; Ent_Position_2 position = new Ent_Position_2(); position.latitude = 0; position.longitude = 0; addressClient.position = position; listAdressClient.Add(addressClient); chazki.addressClient = listAdressClient; list_chazki.Add(chazki); string jsonChazki = JsonConvert.SerializeObject(list_chazki); Response_Registro rpta = new Response_Registro(); using (var http = new HttpClient()) { http.DefaultRequestHeaders.Add("chazki-api-key", cvCzk.informacionTiendaEnvio.chaski_api_key); //PRODUCCION //http.DefaultRequestHeaders.Add("chazki-api-key", "KfXfqgEBhfMK4T8Luw8ba91RynMtjzTY"); //TEST HttpContent content = new StringContent(jsonChazki); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var request = http.PostAsync("https://integracion.chazki.com:8443/chazkiServices/delivery/create/deliveryService", content); //PRODUCCION //var request = http.PostAsync("https://sandboxintegracion.chazki.com:8443/chazkiServices/delivery/create/deliveryService", content); //TEST var response = request.Result.Content.ReadAsStringAsync().Result; rpta = JsonConvert.DeserializeObject <Response_Registro>(response); } if (rpta.response == 1) { oJRespuesta.Message = (rpta.response).ToString(); oJRespuesta.Data = true; oJRespuesta.Success = true; Dat_CanalVenta objCanal = new Dat_CanalVenta(); //datos.insertar_ge_cv(IdTienda, CodInterno, NroDocumento, rpta.codeDelivery); datos.insertar_ge_chatshop(IdTienda, CodInterno, NroDocumento, rpta.codeDelivery); //TempData["Success"] = "Pedido generado correctamente: " + rpta.codeDelivery; } else if (rpta.response == 99) { oJRespuesta.Message = (rpta.response).ToString(); oJRespuesta.Data = false; oJRespuesta.Success = false; //TempData["Error"] = "Error al generar pedido. Error en el servidor" + " | " + rpta.descriptionResponse + " | " + rpta.codeDelivery + " | " + "Intentelo mas tarde."; } else { oJRespuesta.Message = (rpta.response).ToString(); oJRespuesta.Data = false; oJRespuesta.Success = false; TempData["Error"] = "Error al generar pedido. " + rpta.descriptionResponse + "|" + rpta.codeDelivery; } } else { TempData["Error"] = "Error al generar guia. No existe informacion de recogo para la tienda."; } } return(Json(oJRespuesta, JsonRequestBehavior.AllowGet)); //return RedirectToAction("ChatShop", "Consulta"); }
public void ActualizarDeliveryDespachado(string descripcion, string serieNumero, string cod_entid, string fc_nint, string vendedor, string cod_tda) { #region DELIVERY CON COMERCIO XPRESS //cxpress.WSOrdenServicioClient obj1 = new cxpress.WSOrdenServicioClient(); //cxpress.OrdenServicioReqParm objcla = new cxpress.OrdenServicioReqParm(); //cxpress.WSOrdenServicioClient dd = new cxpress.WSOrdenServicioClient(); ///* // <codCliente>141</codCliente> // <codCtaCliente>142</codCtaCliente> // <nroDocProveedor>20145556666</nroDocProveedor> // <codDireccionProveedor>900055</codDireccionProveedor> // */ //CanalVenta cvU = selectVenta(serieNumero, cod_entid, fc_nint); //if (cvU.informacionTiendaEnvio != null) //{ // if (cvU.informacionTiendaEnvio.courier == "cxpress") // { // objcla.nroPedido = new String[] { cvU.serieNumero };// nroPedido; // List<cxpress.item> lista = new List<cxpress.item>(); // foreach (var item in cvU.detalles) // { // if (item.codigoProducto != "9999997") // { // cxpress.item objdet = new cxpress.item(); // objdet.descItem = new String[] { item.nombreProducto }; // objdet.cantItem = new int[] { item.cantidad }; // objdet.pesoMasa = new float[] { 1 }; // 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(); // objcla.volumen = new double[] { 10 }; //No hay // objcla.tipoServicio = new long[] { 101 }; // // /*Codigos para prueba 141 y 142*/ // objcla.codCliente = new long[] { Convert.ToInt32(cvU.informacionTiendaEnvio.cx_codCliente) }; //entregado por CX // objcla.codCtaCliente = new long[] { Convert.ToInt32(cvU.informacionTiendaEnvio.cx_codCtaCliente) }; //entregado por CX // objcla.cantPiezas = new int[] { cvU.detalles.Sum(cant => cant.cantidad) }; // objcla.codRef1 = new String[] { "0012071801" }; //opcional // objcla.codRef2 = new String[] { "0012071801" }; //opcional // objcla.valorProducto = new double[] { 1 }; // objcla.tipoOrigenRecojo = new int[] { 1 }; // objcla.nroDocProveedor = new String[] { cvU.informacionTiendaEnvio.cx_nroDocProveedor };/*Para nroDocProveedor 20145556666*/ // objcla.codTipoDocProveedor = new long[] { Convert.ToInt32(cvU.informacionTiendaEnvio.cx_codTipoDocProveedor) }; //entregado por CX // objcla.codDireccionProveedor = new long[] { Convert.ToInt32(cvU.informacionTiendaEnvio.cx_codDireccionProveedor) }; //entregado por CX //prueba:0900055 // objcla.indicadorGeneraRecojo = new int[] { 1 }; // objcla.tipoDestino = new int[] { 1 }; // objcla.direccEntrega = new String[] { (cvU.tipo == "3" ? cvU.direccionCliente : cvU.informacionTiendaDestinatario.direccion_entrega) }; // Dirección de entrega // //Ubigeo dirección entrega key.ubi_direc // objcla.refDireccEntrega = new String[] { (cvU.tipo == "3" ? (String.IsNullOrEmpty(cvU.referenciaCliente) ? "Sin Referencia" : cvU.referenciaCliente) : cvU.informacionTiendaDestinatario.referencia) }; //Referencia dirección entrega // objcla.codDepartEntrega = new String[] { (cvU.tipo == "3" ? (cvU.ubigeoCliente.ToString() == "" ? cvU.ubigeoTienda.Substring(0, 2) : cvU.ubigeoCliente.Substring(0, 2)) : cvU.ubigeoTienda.Substring(0, 2)) }; //Departamento = Lima // objcla.codProvEntrega = new String[] { (cvU.tipo == "3" ? (cvU.ubigeoCliente.ToString() == "" ? cvU.ubigeoTienda.Substring(2, 2) : cvU.ubigeoCliente.Substring(2, 2)) : cvU.ubigeoTienda.Substring(2, 2)) }; //Provincia = Lima // objcla.codDistEntrega = new String[] { (cvU.tipo == "3" ? (cvU.ubigeoCliente.ToString() == "" ? cvU.ubigeoTienda.Substring(4) : cvU.ubigeoCliente.Substring(4)) : cvU.ubigeoTienda.Substring(4)) }; // objcla.nomDestEntrega = new String[] { (cvU.tipo == "3" ? cvU.nombreCliente : cvU.tiendaOrigen) }; // objcla.apellDestEntrega = new String[] { (cvU.tipo == "3" ? cvU.apePatCliente + ' ' + cvU.apeMatCliente : "BATA") }; //"Perez Luna" // objcla.codTipoDocDestEntrega = new String[] { (cvU.tipo == "3" ? (cvU.noDocCli.Length == 11 ? "112" : "109") : "112") }; // objcla.nroDocDestEntrega = new String[] { (cvU.tipo == "3" ? cvU.noDocCli : cvU.informacionTiendaDestinatario.nroDocumento) }; //supongo que si es para tienda debe ir el ruc de bata //"12345678" // objcla.telefDestEntrega = new String[] { (cvU.tipo == "3" ? (String.IsNullOrEmpty(cvU.telefonoCliente) ? "488-8300" : cvU.telefonoCliente) : cvU.informacionTiendaDestinatario.telefono) }; // telefono del cliente //"991276768" // objcla.emailDestEntrega = new String[] { (cvU.tipo == "3" ? "*****@*****.**" : cvU.informacionTiendaDestinatario.email) }; //"*****@*****.**" // objcla.idUsuario = new String[] { cvU.informacionTiendaEnvio.id_usuario }; // objcla.deTerminal = new String[] { cvU.informacionTiendaEnvio.de_terminal }; // var e = obj1.registrar(objcla); // if (e.nroOrdenServicio != null) // { // insertar_historial_estados_cv(cod_entid, fc_nint, descripcion, "005", vendedor, cod_tda, serieNumero); // datos.insertar_ge_cv(cod_entid, fc_nint, serieNumero, e.nroOrdenServicio); // TempData["Success"] = "Guia generada correctamente."; // } // else // { // TempData["Error"] = "Error al generar guia. " + e.msg; // } // } //} //else //{ // TempData["Error"] = "Error al generar guia. No existe informacion de recogo para la tienda."; //} #endregion #region DELIVERY CON URBANO //Urbano urbano = new Urbano(); ////CanalVenta cvU = selectVenta(id, cod_entid, fc_nint); //urbano.linea = "3"; //urbano.id_contrato = "7182"; //urbano.cod_rastreo = cvU.serieNumero; //urbano.cod_barra = cvU.serieNumero; //urbano.fech_emi_vent = DateTime.Now.ToString("dd/MM/yyyy"); //urbano.nro_o_compra = cvU.serieNumero; //urbano.nro_guia_trans = ""; //urbano.nro_factura = cvU.serieNumero; //urbano.cod_cliente = cvU.noDocCli; //urbano.nom_cliente = cvU.nombreCompletoCliente; //urbano.nro_telf = ""; //urbano.nro_telf_mobil = ""; //urbano.correo_elec = ""; //urbano.dir_entrega = cvU.direccionCliente; //urbano.nro_via = 0; //urbano.ubi_direc = "150121"; //pendiente el ubigeo del cliente //urbano.ref_direc = cvU.referenciaCliente; //urbano.peso_total = "0.3"; //urbano.pieza_total = "1"; //urbano.venta_seller = "SI"; //urbano.sell_codigo = cvU.cod_entid_b; //urbano.sell_nombre = cvU.tiendaDestino; //urbano.sell_direcc = cvU.direccionB; //urbano.sell_ubigeo = ""; //pendiente el ubigeo de la tienda B //List<Productos> productos = new List<Productos>(); //foreach (var item in cvU.detalles) //{ // Productos pro = new Productos(); // pro.cod_sku = item.codigoProducto; // pro.descr_sku = item.nombreProducto; // pro.modelo_sku = ""; // pro.marca_sku = ""; // pro.peso_sku = "0.3"; // pro.cantidad_sku = item.cantidad; // productos.Add(pro); //} //urbano.productos = productos; /* * using (var http = new HttpClient()) * { * // Define authorization headers here, if any * http.DefaultRequestHeaders.Add("user", "B4T412"); * http.DefaultRequestHeaders.Add("pass", "597575f74bd17ed742ae989faafe8ef26f0d6235"); * HttpContent content = new StringContent("json=" + JsonConvert.SerializeObject(urbano)); * content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded"); * var request = http.PostAsync("https://app.urbano.com.pe/ws/ue/ge", content); * var response = request.Result.Content.ReadAsStringAsync().Result; * var rpta = JsonConvert.DeserializeObject<Respuesta>(response); * Console.Write(rpta.guia); * } */ //Respuesta rpta = new Respuesta(); //rpta.error = 1; //rpta.mensaje = "OK"; //rpta.guia = "WYB16171360"; //if (rpta.guia.Length == 11) //{ // GuiaElectronica ge = new GuiaElectronica(); // ge.guia = rpta.guia; // ge.cliente = cvU.nombreCompletoCliente; // ge.direccion = cvU.direccionCliente; // ge.referencia = cvU.referenciaCliente; // ge.ubigeo = urbano.ubi_direc; // List<GuiaElectronica> _ge = new List<GuiaElectronica>(); // _ge.Add(ge); // datos.insertar_ge_cv(cod_entid, fc_nint, id, ge.guia); //} //else //{ // return null; //} #endregion #region DELIVERY CON CHASKI CanalVenta cvCzk = selectVenta(serieNumero, cod_entid, fc_nint); List <Ent_Chaski> list_chazki = new List <Ent_Chaski>(); string[] desUbigeo = null; if (cvCzk.informacionTiendaEnvio != null) { desUbigeo = datos.get_des_ubigeo(cvCzk.tipo == "3" ? cvCzk.ubigeoCliente : cvCzk.ubigeoTienda); if (desUbigeo == null) { TempData["Error"] = "Error al solicitar el pedido de envio: No se encontró ubigeo."; return; } Ent_Chaski chazki = new Ent_Chaski(); chazki.storeId = cvCzk.informacionTiendaEnvio.chaski_storeId; // "10411"; // proporcionado por chazki chazki.branchId = cvCzk.informacionTiendaEnvio.chaski_branchId; // proporcionado por chazki chazki.deliveryTrackCode = cvCzk.serieNumero; chazki.proofPayment = "Ninguna"; // por definir la evindencia que será entregada al cliente chazki.deliveryCost = 0; chazki.mode = "Regular"; //pendiente definir el modo con el que se va a trabajar el canal de venta. chazki.time = ""; chazki.paymentMethod = "Pagado"; chazki.country = "PE"; List <Ent_ItemSold> listItemSold = new List <Ent_ItemSold>(); foreach (var producto in cvCzk.detalles) { if (producto.codigoProducto != "9999997" && producto.fd_colo == "C") { Ent_ItemSold _item = new Ent_ItemSold(); _item.name = producto.nombreProducto; _item.currency = "PEN"; _item.price = Convert.ToDouble(producto.total); _item.weight = 0.3; _item.volumen = 0; _item.quantity = producto.cantidad; _item.unity = "Caja"; _item.size = "M"; listItemSold.Add(_item); } } chazki.listItemSold = listItemSold; chazki.notes = (cvCzk.tipo == "3" ? "" : "Entregar en Tienda BATA"); chazki.documentNumber = (cvCzk.tipo == "3" ? cvCzk.noDocCli : cvCzk.informacionTiendaDestinatario.nroDocumento); chazki.name_tmp = (cvCzk.tipo == "3" ? cvCzk.nombreCliente : ""); chazki.lastName = cvCzk.tipo == "3" ? cvCzk.apePatCliente + " " + cvCzk.apeMatCliente : ""; chazki.companyName = cvCzk.tipo == "3" ? "" : cvCzk.tiendaOrigen; chazki.email = (cvCzk.tipo == "3" ? "*****@*****.**" : cvCzk.informacionTiendaDestinatario.email); chazki.phone = (cvCzk.tipo == "3" ? (String.IsNullOrEmpty(cvCzk.telefonoCliente) ? "488-8300" : cvCzk.telefonoCliente) : cvCzk.informacionTiendaDestinatario.telefono); chazki.documentType = (cvCzk.tipo == "3" ? (cvCzk.noDocCli.Length == 11 ? "RUC" : "DNI") : "RUC"); List <Ent_AddressClient> listAdressClient = new List <Ent_AddressClient>(); Ent_AddressClient addressClient = new Ent_AddressClient(); addressClient.nivel_2 = desUbigeo[0]; //(cvCzk.tipo == "3" ? (cvCzk.ubigeoCliente.ToString() == "" ? cvCzk.ubigeoTienda.Substring(0, 2) : cvCzk.ubigeoCliente.Substring(0, 2)) : cvCzk.ubigeoTienda.Substring(0, 2)); addressClient.nivel_3 = desUbigeo[1]; //(cvCzk.tipo == "3" ? (cvCzk.ubigeoCliente.ToString() == "" ? cvCzk.ubigeoTienda.Substring(2, 2) : cvCzk.ubigeoCliente.Substring(2, 2)) : cvCzk.ubigeoTienda.Substring(2, 2)); addressClient.nivel_4 = desUbigeo[2]; //(cvCzk.tipo == "3" ? (cvCzk.ubigeoCliente.ToString() == "" ? cvCzk.ubigeoTienda.Substring(4) : cvCzk.ubigeoCliente.Substring(4)) : cvCzk.ubigeoTienda.Substring(4)); addressClient.name = (cvCzk.tipo == "3" ? cvCzk.direccionCliente : cvCzk.informacionTiendaDestinatario.direccion_entrega); addressClient.reference = (cvCzk.tipo == "3" ? (String.IsNullOrEmpty(cvCzk.referenciaCliente) ? "Sin Referencia" : cvCzk.referenciaCliente) : cvCzk.informacionTiendaDestinatario.referencia); addressClient.alias = "No Alias"; Ent_Position position = new Ent_Position(); position.latitude = 0; position.longitude = 0; addressClient.position = position; listAdressClient.Add(addressClient); chazki.addressClient = listAdressClient; list_chazki.Add(chazki); string jsonChazki = JsonConvert.SerializeObject(list_chazki); Response_Registro rpta = new Response_Registro(); using (var http = new HttpClient()) { http.DefaultRequestHeaders.Add("chazki-api-key", cvCzk.informacionTiendaEnvio.chaski_api_key); HttpContent content = new StringContent(jsonChazki); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var request = http.PostAsync("https://integracion.chazki.com:8443/chazkiServices/delivery/create/deliveryService", content); var response = request.Result.Content.ReadAsStringAsync().Result; rpta = JsonConvert.DeserializeObject <Response_Registro>(response); } if (rpta.response == 1) { insertar_historial_estados_cv(cod_entid, fc_nint, descripcion, "005", vendedor, cod_tda, serieNumero); datos.insertar_ge_cv(cod_entid, fc_nint, serieNumero, rpta.codeDelivery); TempData["Success"] = "Pedido generado correctamente: " + rpta.codeDelivery; } else if (rpta.response == 99) { TempData["Error"] = "Error al generar pedido. Error en el servidor" + " | " + rpta.descriptionResponse + " | " + rpta.codeDelivery + " | " + "Intentelo mas tarde."; } else { TempData["Error"] = "Error al generar pedido. " + rpta.descriptionResponse + "|" + rpta.codeDelivery; } } else { TempData["Error"] = "Error al generar guia. No existe informacion de recogo para la tienda."; } #endregion }