public void procesar() { unigisEstadosParadas.wsGetEstadosParadas data = new unigisEstadosParadas.wsGetEstadosParadas(); var json = data.getEstadosParadas(); var JSSerializer = new JavaScriptSerializer(); JSSerializer.MaxJsonLength = Int32.MaxValue; EstadosParadas datos = JSSerializer.Deserialize <EstadosParadas>(json); if (datos.success) { unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (unigisws.pEstadoParada estado in datos.collection) { int resultado = unigis.ModificarEstadoParada("1234", estado); Console.WriteLine("Guia: " + estado.RefDocumento + " ViajeId: " + estado.IdViaje.ToString() + " Resultado Update: " + resultado); } } catch (Exception e) { Console.WriteLine(e.Message); } } else { Console.WriteLine(datos.msg); } }
public void procesar() { unigisEstadosGuia.wsGetEstatus data = new unigisEstadosGuia.wsGetEstatus(); var json = data.getEstadosGuia(); var JSSerializer = new JavaScriptSerializer(); JSSerializer.MaxJsonLength = Int32.MaxValue; Estados estadosData = JSSerializer.Deserialize <Estados>(json); if (estadosData.success) { unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (var estadoData in estadosData.collection_Estados) { unigisws.pEstadoOrdenPedido estado = new unigisws.pEstadoOrdenPedido(); try { Console.WriteLine(estadoData.RefDocumento); estado.RefDocumento = estadoData.RefDocumento; estado.Estado = estadoData.Estatus; //sincronizar registro int resp = unigis.ModificarEstadoOrdenPedido("1234", estado); Console.WriteLine(resp.ToString() + ' ' + estado.RefDocumento + ' ' + estado.Estado); } catch (Exception e) { Console.WriteLine(estadoData.RefDocumento + " " + e.Message); // order error } } } catch (Exception e) { Console.WriteLine(e.Message); // orders error } } else { Console.WriteLine(estadosData.msg); } }
static void procesarAgregarParada() { unigisData.wsGetGuias data = new unigisData.wsGetGuias(); var json = data.getNuevasParadas(); NuevasParadas datos = new JavaScriptSerializer().Deserialize <NuevasParadas>(json); if (datos.success) { unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (NuevaParada nuevaParada in datos.collection_Paradas) { Console.WriteLine("Viaje: " + nuevaParada.viajeId.ToString()); unigisws.AgregarParadaViajeResponse[] paradaResponse = unigis.AgregarParadaViaje("1234", Convert.ToInt32(nuevaParada.viajeId), nuevaParada.Paradas.ToArray()); for (int i = 0; i < paradaResponse.Count(); i++) { if (paradaResponse[i].IdParada <= 0) { Console.WriteLine("ViajeId: " + nuevaParada.viajeId.ToString() + "Guía: " + paradaResponse[i].RefDocumento + " ERROR: " + paradaResponse[i].IdParada.ToString()); } else { string error = data.updateParadaId(nuevaParada.viajeId, paradaResponse[i].IdParada.ToString(), paradaResponse[i].RefDocumento.ToString()); Console.WriteLine("ViajeId: " + nuevaParada.viajeId.ToString() + " ParadaId: " + paradaResponse[i].IdParada.ToString() + " Resultado Update: " + error); } } } } catch (Exception e) { Console.WriteLine(e.Message); } } else { Console.WriteLine(datos.msg); } }
public void procesarViajesCerrados() { unigisViajes.wsGetViajes data = new unigisViajes.wsGetViajes(); data.Timeout = 10 * 60 * 1000; var json = data.getViajesCerrados(); ViajesCerrados datos = new JavaScriptSerializer().Deserialize <ViajesCerrados>(json); if (datos.success) { unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (ViajeCerrado viaje in datos.collection_Viajes) { Console.WriteLine("ViajeId: " + viaje.viajeId.ToString()); if (unigis.FinalizarViaje("1234", Convert.ToInt32(viaje.viajeId))) { Console.WriteLine("**VIAJE FINALIZADO**"); } else { Console.WriteLine("**ERROR ocurrió algún problema en la ejecución del servicio, posiblemente el Viaje requerido ya está iniciado, finalizado o no existe**"); } } } catch (Exception e) { Console.WriteLine(e.Message); } } else { Console.WriteLine(datos.msg); } }
static void enviarGuias() { string fechaCortediasAdicionales = ConfigurationManager.AppSettings["fechaCortediasAdicionales"]; string fechaCorteHora = ConfigurationManager.AppSettings["fechaCorteHora"]; string pathLog = ConfigurationManager.AppSettings["pathLog"].ToString(); //Crear instancia para guardar log utils utils = new utils(); int contador = 1; string date = ""; DateTime dt = DateTime.Now; unigisData.wsGetGuias data = new unigisData.wsGetGuias(); date = dt.AddDays(Convert.ToDouble(fechaCortediasAdicionales)).ToString("yyyyMMdd") + " " + fechaCorteHora; //date = dt.ToString("yyyyMMdd") + " 12:00:00"; data.Timeout = 10 * 60 * 1000; var json = data.getGuias(date); var JSSerializer = new JavaScriptSerializer(); JSSerializer.MaxJsonLength = Int32.MaxValue; Orders ordersData = JSSerializer.Deserialize <Orders>(json); if (ordersData.success) { string guid_registro = ""; string prevReg = ""; List <unigisws.pOrdenPedido> orders = new List <unigisws.pOrdenPedido>(); unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (var orderData in ordersData.collection_Orders) { unigisws.pOrdenPedido order = new unigisws.pOrdenPedido(); unigisws.pOrdenPedidoItem orderItem = new unigisws.pOrdenPedidoItem(); unigisws.pCliente clientData = new unigisws.pCliente(); unigisws.pProducto productData = new unigisws.pProducto(); unigisws.CampoValor dynamicCamp = new unigisws.CampoValor(); List <unigisws.pOrdenPedidoItem> orderItems = new List <unigisws.pOrdenPedidoItem>(); List <unigisws.CampoValor> dynamicCamps = new List <unigisws.CampoValor>(); try { guid_registro = orderData.guid_registro; if (orderData.RefDocumento == prevReg) { int index = orders.FindLastIndex(o => o.RefDocumento == orderData.RefDocumento); orderItem.RefDocumento = orderData.Items_pOrdenPedidoItem_RefDocumento; orderItem.Descripcion = orderData.Items_pOrdenPedidoItem_Producto_Descripcion; productData.RefProducto = orderData.Items_pOrdenPedidoItem_Producto_RefProducto; productData.Descripcion = orderData.Items_pOrdenPedidoItem_Producto_Descripcion; productData.Alto = orderData.Items_pOrdenPedidoItem_Producto_Alto; productData.Ancho = orderData.Items_pOrdenPedidoItem_Producto_Ancho; productData.Profundidad = orderData.Items_pOrdenPedidoItem_Producto_Profundidad; productData.Rotacion = orderData.Items_pOrdenPedidoItem_Producto_RotacionPermitida; productData.RotacionesPermitidas = orderData.Items_pOrdenPedidoItem_Producto_RotacionPermitida; productData.Apilable = orderData.Items_pOrdenPedidoItem_Producto_Apilable; productData.Peso = orderData.Items_pOrdenPedidoItem_Peso; productData.Volumen = orderData.Items_pOrdenPedidoItem_Volumen; orderItem.Producto = productData; if (orderData.Items_pOrdenPedidoItem_Cantidad.HasValue) { orderItem.Cantidad = orderData.Items_pOrdenPedidoItem_Cantidad.Value; } orderItem.Volumen = orderData.Items_pOrdenPedidoItem_Volumen; orderItem.Peso = orderData.Items_pOrdenPedidoItem_Peso; orderItem.Bulto = orderData.Items_pOrdenPedidoItem_Bulto; orderItem.Pallets = orderData.Items_pOrdenPedidoItem_Pallets; orderItem.ImporteCosto = orderData.Items_pOrdenPedidoItem_ImporteCosto; orderItem.FechaEntrega = orderData.Items_pOrdenPedidoItem_FechaEntrega; //Getting Existing Items from Order var existingItems = orders[index].Items.ToArray(); for (var i = 0; i < existingItems.Length; i++) { orderItems.Add(existingItems[i]); } //Adding the new one orderItems.Add(orderItem); orders[index].Items = orderItems.ToArray(); } if (contador > 1) { Console.WriteLine((contador - 1).ToString() + " " + prevReg); } if (((orderData.RefDocumento != prevReg) && (prevReg != "")) || ((contador == ordersData.collection_Orders.Count()) && (ordersData.collection_Orders.Count() > 1))) { //sincronizar registro int resp = unigis.CrearOrdenesPedido("10:Feb:2017 \"This is an Example!\"", orders.ToArray()); Console.WriteLine(resp.ToString()); if (resp == 1) { string error = data.updateGuiaCargada(orders[0].RefDocumento, guid_registro); Console.WriteLine(error); } //inicializar orden orders = new List <unigisws.pOrdenPedido>(); } if (orderData.RefDocumento != prevReg) { order.Tipo = orderData.TipoGuia; order.RefDocumento = orderData.RefDocumento; //Se comenta a peticion del proveedor if (orderData.FechaEntrega.HasValue) { //nuevaParada.Fecha = orderData.Fecha.Value; order.Fecha = orderData.FechaEntrega.Value; } order.FechaEntrega = orderData.FechaEntrega; order.FechaEntregaOriginal = orderData.FechaEntregaOriginal; clientData.RefCliente = orderData.Cliente_RefCliente; clientData.RazonSocial = orderData.Cliente_RazonSocial; clientData.Telefono = orderData.Cliente_Telefono; clientData.EMail = orderData.Cliente_Email; clientData.Contacto = orderData.Cliente_Contacto; clientData.Direccion = orderData.Cliente_Direccion; clientData.Calle = orderData.Cliente_Calle; clientData.NumeroPuerta = orderData.Cliente_NumeroPuerta; clientData.Barrio = orderData.Cliente_Barrio; clientData.Localidad = orderData.Cliente_Localidad; clientData.Partido = orderData.Cliente_Partido; clientData.Provincia = orderData.Cliente_Provincia; clientData.Pais = orderData.Cliente_Pais; //clientData.Latitud = orderData.Cliente_Latitud; //clientData.Longitud = orderData.Cliente_Longitud; clientData.RefDomicilioExterno = orderData.Cliente_RefDomicilioExterno; clientData.DomicilioDescripcion = orderData.Cliente_DomicilioDescripcion; clientData.InicioHorario1 = orderData.Cliente_InicioHorario1; clientData.FinHorario1 = orderData.Cliente_FinHorario1; clientData.TiempoEspera = orderData.Cliente_TiempoEspera; order.Cliente = clientData; order.Telefono = orderData.Telefono; order.Descripcion = orderData.Descripcion; order.CodigoSucursal = orderData.CodigoSucursal; order.CodigoOperacion = orderData.CodigoSucursal; order.TipoPedido = orderData.TipoPedido; order.Estado = orderData.Estado; order.Direccion = orderData.Direccion; order.Calle = orderData.Calle; order.NroPuerta = orderData.NroPuerta; order.Barrio = orderData.Barrio; order.Localidad = orderData.Localidad; order.Partido = orderData.Partido; order.Provincia = orderData.Provincia; order.Pais = orderData.Pais; order.CodigoPostal = orderData.CodigoPostal; order.InicioHorario1 = orderData.InicioHorario1; order.FinHorario1 = orderData.FinHorario1; order.TiempoEspera = orderData.TiempoEspera; order.Volumen = orderData.Volumen; order.Peso = orderData.Peso; order.Bulto = orderData.Bulto; order.Pallets = orderData.Pallets; //nuevaParada.Latitud = orderData.Latitud; //nuevaParada.Longitud = orderData.Longitud; order.Observaciones = orderData.Observaciones; order.Email = orderData.Email; order.Categoria = orderData.Categoria; order.Prioridad = orderData.Prioridad; order.cargaExclusiva = orderData.cargaExclusiva == "NO" ? false : true; orderItem.RefDocumento = orderData.Items_pOrdenPedidoItem_RefDocumento; productData.RefProducto = orderData.Items_pOrdenPedidoItem_Producto_RefProducto; productData.Descripcion = orderData.Items_pOrdenPedidoItem_Producto_Descripcion; productData.Alto = orderData.Items_pOrdenPedidoItem_Producto_Alto; productData.Ancho = orderData.Items_pOrdenPedidoItem_Producto_Ancho; productData.Profundidad = orderData.Items_pOrdenPedidoItem_Producto_Profundidad; productData.Rotacion = orderData.Items_pOrdenPedidoItem_Producto_RotacionPermitida; productData.RotacionesPermitidas = orderData.Items_pOrdenPedidoItem_Producto_RotacionPermitida; productData.Apilable = orderData.Items_pOrdenPedidoItem_Producto_Apilable; productData.Peso = orderData.Items_pOrdenPedidoItem_Peso; productData.Volumen = orderData.Items_pOrdenPedidoItem_Volumen; orderItem.Producto = productData; if (orderData.Items_pOrdenPedidoItem_Cantidad.HasValue) { orderItem.Cantidad = orderData.Items_pOrdenPedidoItem_Cantidad.Value; } orderItem.Descripcion = orderData.Items_pOrdenPedidoItem_Producto_Descripcion; orderItem.Volumen = orderData.Items_pOrdenPedidoItem_Volumen; orderItem.Peso = orderData.Items_pOrdenPedidoItem_Peso; orderItem.Bulto = orderData.Items_pOrdenPedidoItem_Bulto; orderItem.Pallets = orderData.Items_pOrdenPedidoItem_Pallets; orderItem.ImporteCosto = orderData.Items_pOrdenPedidoItem_ImporteCosto; orderItem.FechaEntrega = orderData.Items_pOrdenPedidoItem_FechaEntrega; orderItems.Add(orderItem); order.Items = orderItems.ToArray(); dynamicCamp.Campo = orderData.CampoDinamico_Campo; dynamicCamp.Valor = orderData.CampoDinamico_Valor; dynamicCamps.Add(dynamicCamp); order.CampoDinamico = dynamicCamps.ToArray(); orders.Add(order); } //sincronizar cuando el resultado sea un solo registro o el ultimo if (((contador == 1) && (contador == ordersData.collection_Orders.Count()) && (ordersData.collection_Orders.Count() > 0)) || ((contador == ordersData.collection_Orders.Count()) && (ordersData.collection_Orders.Count() > 1))) { if ((contador == ordersData.collection_Orders.Count()) && (ordersData.collection_Orders.Count() > 1)) { Console.WriteLine(contador.ToString() + " " + prevReg); } //sincronizar registro int resp = unigis.CrearOrdenesPedido("10:Feb:2017 \"This is an Example!\"", orders.ToArray()); Console.WriteLine(resp.ToString()); if (resp == 1) { string error = data.updateGuiaCargada(orders[0].RefDocumento, guid_registro); Console.WriteLine(error); } //inicializar orden orders = new List <unigisws.pOrdenPedido>(); } } catch (Exception e) { Console.WriteLine(orderData.RefDocumento + " " + e.Message + " " + utils.guardarLog(orderData.RefDocumento + ": " + e.Message, pathLog)); // nuevaParada error } contador++; prevReg = orderData.RefDocumento; //Sticker anterior } //foreach (var k in orders) //{ // Console.Write(k.RefDocumento + Environment.NewLine); // for (int s = 0; s < k.Items.Length; s++) // { // Console.Write(k.Items[s].Volumen + Environment.NewLine); // } //} /* * int resp = unigis.CrearOrdenesPedido("10:Feb:2017 \"This is an Example!\"", orders.ToArray()); * Console.WriteLine(resp); */ } catch (Exception e) { Console.WriteLine(e.Message + " " + utils.guardarLog(e.Message, pathLog)); // orders error } } else { Console.WriteLine(ordersData.msg); } }
public void procesar() { unigisViajes.wsGetViajes data = new unigisViajes.wsGetViajes(); data.Timeout = 10 * 60 * 1000; var json = data.getViajes(); var JSSerializer = new JavaScriptSerializer(); JSSerializer.MaxJsonLength = Int32.MaxValue; Viajes datos = JSSerializer.Deserialize <Viajes>(json); if (datos.success) { unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (Viaje viaje in datos.collection_Viajes) { unigisws.CrearViajeResultado resultado = new unigisws.CrearViajeResultado(); resultado = unigis.CrearViaje4("1234", viaje.Empresa, viaje.Sucursal, viaje.Operacion, viaje.Dominio, viaje.FechaViaje.Value, //DateTime.ParseExact("07/06/2017 15:07:25", "dd/MM/yyyy HH:mm:ss", null), viaje.Referencia, "", viaje.transporte , null, viaje.depositoSalida, viaje.depositoLlegada, viaje.conductor, "", "", "", "", "", viaje.Paradas.ToArray()); if (resultado.IdViaje < 0) { Console.WriteLine("RutaEAD: " + viaje.Referencia + " ERROR: " + resultado.IdViaje.ToString()); } else { string error = data.updateRutaId(viaje.Referencia, resultado.IdViaje.ToString()); Console.WriteLine("RutaEAD: " + viaje.Referencia + " ViajeId: " + resultado.IdViaje.ToString() + " Resultado Update: " + error); if (error == "") { if (unigis.ActivarViaje("1234", resultado.IdViaje)) { Console.WriteLine("**VIAJE ACTIVADO**"); } else { Console.WriteLine("**ERROR ocurrió algún problema en la ejecución del servicio, posiblemente el Viaje requerido ya está iniciado, finalizado o no existe**"); } } } } } catch (Exception e) { Console.WriteLine(e.Message); } } else { Console.WriteLine(datos.msg); } }
public void obtenerRutas() { unigisRutas.wsRutas data = new unigisRutas.wsRutas(); var json = data.getProgramacion(); var JSSerializer = new JavaScriptSerializer(); JSSerializer.MaxJsonLength = Int32.MaxValue; programaciones datos = JSSerializer.Deserialize <programaciones>(json); if (datos.success) { unigisws.Service unigis = new unigisws.Service(); unigis.Timeout = 10 * 60 * 1000; try { foreach (programacion programacion in datos.collection) { unigisws.pRuta[] resultado = unigis.ObtenerRutas("1234", DateTime.ParseExact(programacion.fecha, "yyyy-MM-dd", CultureInfo.InvariantCulture), programacion.sucursalId); foreach (unigisws.pRuta ruta in resultado) { if (ruta.Vehiculo != null /*&& ruta.Estado.ToLower() == "planeada"*/) { unigisws.pVehiculo vehiculo = ruta.Vehiculo; Console.WriteLine("RutaIdUNIGIS: " + ruta.IdRuta + " ViajeId: " + ruta.IdViaje.ToString() + " Estado: " + ruta.Estado.ToString() + " EstadoJornada: " + ruta.EstadoJornada.ToString() + " FechaHoraCarga: " + ruta.FechaHoraCarga.Value.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture) //+ " Operador: " + vehiculo.Conductor.ToString() + " Dominio: " + vehiculo.Dominio.ToString() + " Eco: " + vehiculo.ReferenciaExterna.ToString() ); //limpiar Ruta unigisRutas.wsRutas operacionesRuta = new unigisRutas.wsRutas(); string error = operacionesRuta.deleteRuta(ruta.IdRuta.ToString()); if (error == "") { //insertar ruta con detalle de guias Console.WriteLine("**ORDENES**"); unigisws.pOrdenEntrega[] ordenes = ruta.Ordenes; foreach (unigisws.pOrdenEntrega orden in ordenes) { error = operacionesRuta.insertRuta(ruta.IdRuta.ToString() , ruta.FechaHoraCarga.Value.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture) , vehiculo.Dominio.ToString() , vehiculo.ReferenciaExterna.ToString() , orden.RefDocumento , orden.Tipo , ruta.Estado.ToString() , orden.Orden.ToString() , orden.Latitud.Value , orden.Longitud.Value); Console.WriteLine("Guia: " + orden.RefDocumento + " Servicio: " + orden.Tipo + " Error: " + error + " ORDEN: " + orden.Orden.ToString() + " lat: " + orden.Latitud.Value.ToString() + " lon: " + orden.Longitud.Value.ToString()); } } else { Console.WriteLine("Error: " + error); } } } } } catch (Exception e) { Console.WriteLine(e.Message); } } }