private void _vista_UsuarioDeseaCancelarManifiesto(object sender, ManifiestoArgumento e) { try { var op = ConsultaDeManifiestoServicio.CancelarManifiesto(e); if (op.Resultado == ResultadoOperacionTipo.Error) { throw new Exception(op.Mensaje); } } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_UsuarioDeseaAutorizarCosteoPoliza(object sender, CosteoArgumento e) { try { var op = ConsultaCosteoServicio.AutorizarCosteoPoliza(e); if (op.Resultado == ResultadoOperacionTipo.Error) { InteraccionConUsuarioServicio.MensajeErrorDialogo(op.Mensaje); } } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_UsuarioDesasociarPiloto(object sender, VehiculoArgumento e) { try { var op = VehiculoServicio.AsociarVehiculoAPiloto(e); if (op.Resultado == ResultadoOperacionTipo.Error) { throw new Exception(op.Mensaje); } _vista_VistaCargandosePorPrimeraVez(sender, e); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private bool ValidarDocumentosDeInicializacion() { try { if (!Polizas.Where(p => p.IS_SELECTED && p.TRANS_TYPE.Equals("INICIALIZACION_GENERAL")).Any(poliza => string.IsNullOrEmpty(poliza.POLIZA_ASEGURADA) || poliza.ACUERDO_COMERCIAL_ID == 0)) { return(true); } InteraccionConUsuarioServicio.MensajeErrorDialogo("Hay documentos sin poliza asegurada o acuerdo Comercial"); return(false); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); return(false); } }
private void EstablecerPreciosUnitariosDeConsolidado() { try { foreach (var polizaDetalle in PolizaDetalles.Where(pd => pd.UNITARY_PRICE > 0)) { foreach (var polizaCon in PolizaDetallesParaConsolidado.Where(pc => pc.MATERIAL_ID == polizaDetalle.MATERIAL_ID)) { polizaCon.UNITARY_PRICE = polizaDetalle.UNITARY_PRICE; polizaCon.CUSTOMS_AMOUNT = polizaCon.QTY * polizaCon.UNITARY_PRICE; } } } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_VistaCargandosePorPrimeraVez(object sender, EventArgs e) { try { _vista.TodosVehiculos = VehiculoServicio.ObtenerVehiculosConPilotosAsociados(); _vista.Vehiculos = _vista.TodosVehiculos; _vista.Usuario = InteraccionConUsuarioServicio.ObtenerUsuario(); _vista.Parametros = ParametroServicio.ObtenerParametro(new ConsultaArgumento { GrupoParametro = Enums.GetStringValue(GrupoParametro.DemandaDePicking), IdParametro = Enums.GetStringValue(IdParametro.ObtieneTipoDeDemanda) }); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_VistaCargandosePorPrimeraVez(object sender, EventArgs e) { try { _vista.Piloto = new Piloto(); //_vista.UsuariosPorRol = new List<Usuario>(); _vista.UsuariosExternos = new List <Usuario>(); _vista.Pilotos = PilotoServicio.ObtenerPilotos(new PilotoArgumento { Piloto = new Piloto() }); _vista.RolesDeUsuario = UsuarioServicio.ObtenerRolesDeUsuario(); ObtenerParametros(); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_VistaCargandosePorPrimeraVez(object sender, System.EventArgs e) { try { _vista.TiposUbicacion = ConfiguracionServicio.ObtenerConfiguracionesGrupoYTipo(new Entidades.Configuracion { PARAM_TYPE = "SISTEMA", PARAM_GROUP = "TIPO_UBICACIONES" }); _vista.Bodegas = BodegaServicio.ObtenerBodegaAsignadaAUsuario(InteraccionConUsuarioServicio.ObtenerUsuario()); _vista.Ubicaciones = EstadoDeUbicacionesServicio.ObtenerEstadoDeUbicaciones(new EstadoDeUbicacionArgumento()); } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } }
private void _vista_UsuarioDeseaObtenerPolizasMaestroDetallePendientesDeAutorizar(object sender, CosteoArgumento e) { try { if (_vista.LineasAbiertas) { _vista.PolizasMaestroDetalle = ConsultaCosteoServicio.ObtenerPolizasMaestroDetallePendientesDeAutorizar(e).Where(x => x.STATUS == "Abierto").ToList(); } else { _vista.PolizasMaestroDetalle = ConsultaCosteoServicio.ObtenerPolizasMaestroDetallePendientesDeAutorizar(e); } } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_UsuarioDeseaActualizarVehiculo(object sender, Argumentos.VehiculoArgumento e) { try { var op = VehiculoServicio.ActualizarVehiculo(e); if (op.Resultado == ResultadoOperacionTipo.Error) { throw new Exception(op.Mensaje); } e.Vehiculo.LAST_UPDATE = DateTime.Now; _vista.Vehiculo = e.Vehiculo; _vista.Vehiculos = VehiculoServicio.ObtenerVehiculos(new VehiculoArgumento { Vehiculo = new Vehiculo() }); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void LLenarVistaEncabezado() { try { PolizaDetalles = new List <PolizaDetalle>(); var costeoArgumento = new CosteoArgumento { FechaInicial = Convert.ToDateTime(UiFechaInicio.EditValue).Date + (new TimeSpan(0, 0, 0)) , FechaFinal = Convert.ToDateTime(UiFechaFinal.EditValue).Date + (new TimeSpan(23, 59, 59)) , Login = InteraccionConUsuarioServicio.ObtenerUsuario() }; UsuarioDeseaObtenerPolizasEncabezadoPendientes?.Invoke(null, costeoArgumento); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void UiControlTextoIdSolicitud_KeyDown(object sender, KeyEventArgs e) { try { Cursor.Current = Cursors.WaitCursor; if (e.KeyCode == Keys.Enter) { var numeroDeSolicitudDeTraslado = (sender as TextEdit).Text; BuscarSolicitudDeTraslado(sender, int.Parse(numeroDeSolicitudDeTraslado)); } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } finally { Cursor.Current = Cursors.Default; } }
private void _vista_UsuarioDeseaObtenerPaseDeSalida(object sender, PaseDeSalidaArgumento e) { try { var pase = PaseDeSalidaServicio.ObtenerPase(e).FirstOrDefault(); if (pase != null) { _vista.DespachosDetalles = new List <DemandaDespachoDetalle>(); _vista.CargarControlesEncabezado(pase); UnirDetalleDePaseConLasDemandas(e); } else { InteraccionConUsuarioServicio.MensajeErrorDialogo($"No se encontro el pase de salida"); } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al obtener el pase: {ex.Message}"); } }
private void seleccionarPrimerRegistroPorCliente() { try { var primerAcuerdoComercial = AcuerdosComerciales.FirstOrDefault(); if (primerAcuerdoComercial != null) { UiListaAcuerdoComercial.EditValue = primerAcuerdoComercial.ACUERDO_COMERCIAL; } var primerPolizaSeguro = PolizaAseguradora.FirstOrDefault(); if (primerPolizaSeguro != null) { UiListaPolizasDeSeguro.EditValue = primerPolizaSeguro.DOC_ID; } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } }
private void UiBotonEliminarProyecto_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { InteraccionConUsuarioServicio.MostrarDialogoDeCargando(); try { if (ProyectoSeleccionado.ID == Guid.Empty) { return; } UsuarioDeseaEliminarProyecto?.Invoke(null, new ProyectoArgumento { Login = InteraccionConUsuarioServicio.ObtenerUsuario(), Proyecto = ProyectoSeleccionado }); } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } InteraccionConUsuarioServicio.CerrarDialogoDeCargando(); }
private void UiBotonEliminarInventario_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { InteraccionConUsuarioServicio.MostrarDialogoDeCargando(); try { if (InventarioAsignadoAProyecto == null || InventarioAsignadoAProyecto.Where(m => m.IS_SELECTED).ToList().Count == 0) { InteraccionConUsuarioServicio.MensajeErrorDialogo("Debe seleccionar el inventario a eliminar"); return; } foreach (var inventory in InventarioAsignadoAProyecto.Where(m => m.IS_SELECTED).ToList()) { if (inventory.RESERVED_PICKING > 0 || inventory.QTY_DISPATCHED > 0) { InteraccionConUsuarioServicio.MensajeErrorDialogo("No se puede realizar la acción, inventario despachado o reservado para picking."); return; } } if (ProyectoSeleccionado == null || ProyectoSeleccionado.ID == Guid.Empty) { return; } UsuarioDeseaEliminarInventarioDeProyecto?.Invoke(null, new ProyectoArgumento { Login = InteraccionConUsuarioServicio.ObtenerUsuario(), Proyecto = ProyectoSeleccionado, LicenciasXml = Xml.ConvertListToXml(InventarioAsignadoAProyecto.Where(m => m.IS_SELECTED).ToList()) }); UsuarioDeseaObtenerInventarioReservado?.Invoke(sender, new ProyectoArgumento { Proyecto = ProyectoSeleccionado }); } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } InteraccionConUsuarioServicio.CerrarDialogoDeCargando(); }
private void UiLista_Properties_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { InteraccionConUsuarioServicio.MostrarDialogoDeCargando(); try { if (e.Button.Tag == null) { return; } switch (e.Button.Tag.ToString()) { case "UiBtnRefrescarClientesProyecto": UsuarioDeseaObtenerClientesErp?.Invoke(null, null); break; case "UiBtnRefrescarMateriales": if (ProyectoSeleccionado.ID == Guid.Empty) { return; } UsuarioDeseaObtenerProductos?.Invoke(null, null); break; case "UiBtnRefrescarInventarioDisponible": if (ProyectoSeleccionado.ID == Guid.Empty) { return; } UsuarioDeseaObtenerInventarioDisponible?.Invoke(sender, new ProyectoArgumento { Proyecto = ProyectoSeleccionado, Login = InteraccionConUsuarioServicio.ObtenerUsuario() }); break; } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } InteraccionConUsuarioServicio.CerrarDialogoDeCargando(); }
private void UiBotonGrabarProyecto_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { InteraccionConUsuarioServicio.MostrarDialogoDeCargando(); try { if (!UiDxValidaciones.Validate()) { return; } ProyectoSeleccionado.CUSTOMER_NAME = null; ProyectoSeleccionado.OPPORTUNITY_CODE = UiTextoCodigoProyecto.Text; ProyectoSeleccionado.OPPORTUNITY_NAME = UiTextoNombreProyecto.Text; ProyectoSeleccionado.SHORT_NAME = UiTextoNombreCortoProyecto.Text; ProyectoSeleccionado.OBSERVATIONS = UIMemoObservacionesProyecto.Text; ProyectoSeleccionado.STATUS = Enums.GetStringValue(EstadoDeProyecto.Creado); ProyectoSeleccionado.CUSTOMER_CODE = UiListaClienteProyecto.EditValue?.ToString(); if (string.IsNullOrEmpty(ProyectoSeleccionado.CUSTOMER_CODE)) { InteraccionConUsuarioServicio.MensajeErrorDialogo("Debe seleccionar cliente"); return; } if (!string.IsNullOrEmpty(ProyectoSeleccionado.CUSTOMER_CODE)) { var clientes = Clientes.FirstOrDefault(c => c.CUSTOMER_CODE == ProyectoSeleccionado.CUSTOMER_CODE); ProyectoSeleccionado.CUSTOMER_NAME = clientes?.CUSTOMER_NAME; ProyectoSeleccionado.CUSTOMER_OWNER = clientes?.OWNER; } UsuarioDeseaGrabarProyecto?.Invoke(null, new ProyectoArgumento { Login = InteraccionConUsuarioServicio.ObtenerUsuario(), Proyecto = ProyectoSeleccionado }); } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } InteraccionConUsuarioServicio.CerrarDialogoDeCargando(); }
private void _vista_UsuarioDeseaCambiarEstadoAlPase(object sender, PaseDeSalidaArgumento e) { try { bool pAlt = bool.Parse(ConfigurationManager.AppSettings["PaseDeSalidaAlt"]); // Actualiza el estado del Pase de Salida para Ferco if (pAlt) { DataTable op = PaseDeSalidaServicio.ActualizarEstadoParaElPaseDeSalidaFerco(e); int result = op.Rows[0].Field <int>(0); if (result == 1) { _vista.TerminoDeActualizarEstado(Convert.ToInt32(e.PaseDeSalidaEncabezado.PASS_ID), e.PaseDeSalidaEncabezado.STATUS); } else { InteraccionConUsuarioServicio.MensajeErrorDialogo(op.Rows[0].Field <string>(1)); } } // Actualiza el estado del Pase de Salida para los demas clientes else { var op = PaseDeSalidaServicio.ActualizarEstadoParaElPaseDeSalida(e); if (op.Resultado == ResultadoOperacionTipo.Exito) { _vista.TerminoDeActualizarEstado(Convert.ToInt32(e.PaseDeSalidaEncabezado.PASS_ID), e.PaseDeSalidaEncabezado.STATUS); } else { InteraccionConUsuarioServicio.MensajeErrorDialogo(op.Mensaje); } } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al cambiar el estado del pase: {ex.Message}"); } }
private void CambiarAConsolidado() { try { foreach (var poliza in Polizas) { poliza.IS_SELECTED = false; } PolizaDetalles = new List <PolizaDetalle>(); UiGridVistaEncabezado.OptionsSelection.MultiSelect = EsConsolidado; UiBotonPlantillaExcel.Visibility = (EsConsolidado) ? BarItemVisibility.Never : BarItemVisibility.Always; UiBotonImportarAExecl.Visibility = (EsConsolidado) ? BarItemVisibility.Never : BarItemVisibility.Always; } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_UsuarioDeseaGrabar(object sender, PaseDeSalidaArgumento e) { try { e.Login = InteraccionConUsuarioServicio.ObtenerUsuario(); e.Xml = ObtenerXmlDeLicencias(); var op = PaseDeSalidaServicio.GrabarPaseDeSalida(e); if (op.Resultado == ResultadoOperacionTipo.Error) { InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al grabar el pase de salida: {op.Mensaje}"); } else { _vista.TerminoDeGrabar(Convert.ToInt32(e.PaseDeSalidaEncabezado.PASS_ID)); UnirDetalleDePaseConLasDemandas(e); } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo($"Error al preparar el pase de salida para guardar: {ex.Message}"); } }
private void _vista_UsuarioDeseaActualizarCaja(object sender, Argumentos.CajaArgumento e) { try { var operacion = LineaDePickingServicio.ModificarCaja(e); if (operacion.Resultado == ResultadoOperacionTipo.Exito) { _vista.Cajas = new List <Caja>(); _vista.Cajas = LineaDePickingServicio.ObtenerCajaPorId(new ConsultaArgumento { IdParametro = e.Cajas.FirstOrDefault().BOX_ID }); } else { InteraccionConUsuarioServicio.MensajeErrorDialogo(operacion.Mensaje); } } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } }
private void GrabarEncabezados() { try { foreach (var poliza in _vista.Polizas.ToList().Where(p => p.IS_SELECTED && p.TRANS_TYPE.Equals("INICIALIZACION_GENERAL"))) { var op = CosteoServicio.ActualizarPolizaEncabezado(new CosteoArgumento { Poliza = poliza, Login = InteraccionConUsuarioServicio.ObtenerUsuario() }); if (op.Resultado != ResultadoOperacionTipo.Error) { continue; } InteraccionConUsuarioServicio.MensajeErrorDialogo(op.Mensaje); break; } } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void _vista_UsuarioDeseaObtenerPolizaDetallePendiente(object sender, CosteoArgumento e) { try { if (_vista.EsConsolidado) { var polizas = _vista.Polizas.Where(p => p.IS_SELECTED && !_vista.PolizaDetallesParaConsolidado.ToList().Exists(pd => pd.DOC_ID == p.DOC_ID)).ToList(); foreach (var poliza in polizas) { var polizasDetalle = CosteoServicio.ObtenerPolizasDetallePendientesDeAutorizar(new CosteoArgumento { Poliza = poliza }); foreach (var polizaDetalle in polizasDetalle) { polizaDetalle.DOC_ID = poliza.DOC_ID; polizaDetalle.CLIENT_CODE = poliza.CLIENT_CODE; _vista.PolizaDetallesParaConsolidado.Add(polizaDetalle); } } _vista.PolizaDetallesParaConsolidado = _vista.PolizaDetallesParaConsolidado.Where(pc => _vista.Polizas.ToList().Exists(p => p.IS_SELECTED && p.DOC_ID == pc.DOC_ID)).ToList(); AgruparDetallesParaConsolidado(); } else { var polizasDetalle = CosteoServicio.ObtenerPolizasDetallePendientesDeAutorizar(e); foreach (var polizaDetalle in polizasDetalle) { polizaDetalle.DOC_ID = e.Poliza.DOC_ID; polizaDetalle.CLIENT_CODE = e.Poliza.CLIENT_CODE; } _vista.PolizaDetalles = polizasDetalle; } } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void AgruparDetallesParaConsolidado() { try { var listaDetalle = new List <PolizaDetalle>(); foreach (var polizaDetalleNueva in _vista.PolizaDetallesParaConsolidado) { var existePolizaDetalle = false; foreach (var polizadetalleActual in listaDetalle.ToList().Where(pd => polizaDetalleNueva.MATERIAL_ID == pd.MATERIAL_ID)) { existePolizaDetalle = true; polizadetalleActual.QTY += polizaDetalleNueva.QTY; polizadetalleActual.BULTOS += polizaDetalleNueva.BULTOS; polizadetalleActual.UNITARY_PRICE = _vista.PolizaDetallesParaConsolidado.ToList().Where(pd => pd.MATERIAL_ID == polizadetalleActual.MATERIAL_ID).OrderByDescending(p => p.LAST_UPDATED).First().UNITARY_PRICE; polizadetalleActual.CUSTOMS_AMOUNT += polizaDetalleNueva.QTY * polizadetalleActual.UNITARY_PRICE; } if (existePolizaDetalle) { continue; } var nuevoDetalle = new PolizaDetalle { MATERIAL_ID = polizaDetalleNueva.MATERIAL_ID, SKU_DESCRIPTION = polizaDetalleNueva.SKU_DESCRIPTION, BULTOS = polizaDetalleNueva.BULTOS, QTY = polizaDetalleNueva.QTY, UNITARY_PRICE = polizaDetalleNueva.UNITARY_PRICE, CUSTOMS_AMOUNT = polizaDetalleNueva.QTY * polizaDetalleNueva.UNITARY_PRICE }; listaDetalle.Add(nuevoDetalle); } _vista.PolizaDetalles = listaDetalle; } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void ProyectoVista_Load(object sender, EventArgs e) { try { UiListaEstado.EditValue = "Todos"; CrearValidaciones(); VistaCargandosePorPrimeraVez?.Invoke(null, null); GuardarOCargarDiseniosDeControles(this, InteraccionConUsuarioServicio.ObtenerUsuario(), false, GetType().Name); ImplementarSeleccionMultipleDeUnaLista(UiVistaMateriales, new ObjetoParaGuardarEnVista { ListaDeCamposAMostrar = (new[] { "MATERIAL_ID" }) }); ImplementarSeleccionMultipleDeUnaLista(UiVistaInventarioDisponible, new ObjetoParaGuardarEnVista { ListaDeCamposAMostrar = (new[] { "LICENSE_ID", "MATERIAL_ID" }) }); ImplementarSeleccionMultipleDeUnaVista(UiVistaInventarioProyecto); UiListaEstado.EditValue = "Todos"; } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } }
private void _vista_VistaCargandosePorPrimeraVez(object sender, EventArgs e) { try { _vista.Vehiculo = new Vehiculo(); _vista.Vehiculos = VehiculoServicio.ObtenerVehiculos(new VehiculoArgumento { Vehiculo = new Vehiculo() }); _vista.Pilotos = PilotoServicio.ObtenerPilotosNoAsociadosAVehiculos(new PilotoArgumento { Piloto = new Piloto() }); _vista.EmpresasDeTransporte = EmpresaDeTransporteServicio.ObtenerEmpresasDeTransporte(new EmpresaDeTransporteArgumento { EmpresaDeTransporte = new EmpresaDeTransporte() }); _vista.PolizasDeSeguro = PolizaServicio.ObtenerTodasLasPolizasDeSeguro(); ObtenerParametros(); } catch (Exception exception) { InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }
private void LimpiarControles() { InteraccionConUsuarioServicio.MostrarDialogoDeCargando(); try { ProyectoSeleccionado = new Proyecto(); EditarTextoCodigo(UiTextoCodigoProyecto, string.Empty, true); UiTextoNombreProyecto.Text = string.Empty; UiTextoNombreCortoProyecto.Text = string.Empty; UIMemoObservacionesProyecto.Text = string.Empty; UiListaClienteProyecto.EditValue = null; Skus = new List <Material>(); UiTabInventarioProyecto.PageVisible = false; UiTabResumenProyecto.PageVisible = false; InventarioPendienteDeAsignar = new List <InventarioReservadoProyecto>(); InventarioAsignadoAProyecto = new List <InventarioReservadoProyecto>(); ResumenProyecto = new List <ResumenInventarioProyecto>(); } catch (Exception ex) { InteraccionConUsuarioServicio.MensajeErrorDialogo(ex.Message); } InteraccionConUsuarioServicio.CerrarDialogoDeCargando(); }
private void CargarCapasDeMapa() { try { var capaRutas = new VectorItemsLayer() { Name = CapaMapaTracking.Rutas.ToString() }; var capaTareas = new VectorItemsLayer() { Name = CapaMapaTracking.Tareas.ToString() }; var capaCamion = new VectorItemsLayer() { Name = CapaMapaTracking.Camion.ToString() }; UiMapaTracking.Layers.Add(capaRutas); UiMapaTracking.Layers.Add(capaTareas); UiMapaTracking.Layers.Add(capaCamion); capaRutas.Data = ObtenerRutas(); capaTareas.Data = ObtenerTareas(); capaCamion.Data = ObtenerCamion(); //---- var capaRutasMapaYFoto = new VectorItemsLayer() { Name = CapaMapaTracking.Rutas.ToString() }; var capaTareasMapaYFoto = new VectorItemsLayer() { Name = CapaMapaTracking.Tareas.ToString() }; var capaCamionMapaYFoto = new VectorItemsLayer() { Name = CapaMapaTracking.Camion.ToString() }; UiMapaTrackingMapaYFoto.Layers.Add(capaRutasMapaYFoto); UiMapaTrackingMapaYFoto.Layers.Add(capaTareasMapaYFoto); UiMapaTrackingMapaYFoto.Layers.Add(capaCamionMapaYFoto); capaRutasMapaYFoto.Data = ObtenerRutas(); capaTareasMapaYFoto.Data = ObtenerTareas(); capaCamionMapaYFoto.Data = ObtenerCamion(); //UiMapaTracking.CenterPoint = ObtenerPuntoMedio(ObtenerCoordenadas(TareasCumplimientodeEntregas)); var puntos = ObtenerPuntoMedio(ObtenerCoordenadas(TareasCumplimientodeEntregas)); UiMapaTracking.CenterPoint = puntos; UiMapaTrackingMapaYFoto.CenterPoint = puntos; UiMapaTracking.ZoomToFitLayerItems(); UiMapaTrackingMapaYFoto.ZoomToFitLayerItems(); } catch (Exception e) { InteraccionConUsuarioServicio.MensajeErrorDialogo(e.Message); throw; } }
private void UiTimerCamion_Tick(object sender, EventArgs e) { try { if (TareasCumplimientodeEntregas.Count <= 1) { UiTimerCamion.Enabled = false; return; } if (TicksReinicio > 0) { TicksReinicio--; return; } var truckLayer = (VectorItemsLayer)UiMapaTracking.Layers[CapaMapaTracking.Camion.ToString()]; var camiones = truckLayer.Data as MapItemStorage; var camion = (CamionMapa)camiones.Items.FirstOrDefault(); var totalTareas = TareasCumplimientodeEntregas.Count; var tareaActual = camion.TareaActual; var nuevaTarea = totalTareas == tareaActual.SEQUENCE ? TareasCumplimientodeEntregas.FirstOrDefault() : TareasCumplimientodeEntregas[tareaActual.SEQUENCE]; var nuevoDestino = totalTareas == nuevaTarea.SEQUENCE ? TareasCumplimientodeEntregas[1] : TareasCumplimientodeEntregas[nuevaTarea.SEQUENCE]; CoordPoint nuevaUbicacion; camion.DistanciaRecorrida += camion.Distancia / 20; if (camion.DistanciaRecorrida >= camion.Distancia) { if (nuevaTarea.SEQUENCE == totalTareas) { TicksReinicio = 5; nuevaTarea = TareasCumplimientodeEntregas.FirstOrDefault(); } if (!string.IsNullOrEmpty(nuevaTarea.GPS)) { nuevaUbicacion = nuevaTarea.Location; camion.TareaActual = nuevaTarea; camion.DistanciaRecorrida = 0; var p1 = new GeoCoordinate(nuevaTarea.Latitude, nuevaTarea.Longitude); var p2 = new GeoCoordinate(nuevoDestino.Latitude, nuevoDestino.Longitude); var distance = p1.GetDistanceTo(p2); camion.Distancia = distance; camion.Location = nuevaUbicacion; } } else { var ratio = camion.DistanciaRecorrida / camion.Distancia; if (double.IsNaN(ratio)) return; nuevaUbicacion = new GeoPoint(tareaActual.Latitude + ratio * (nuevaTarea.Latitude - tareaActual.Latitude), tareaActual.Longitude + ratio * (nuevaTarea.Longitude - tareaActual.Longitude)); camion.Location = nuevaUbicacion; } camiones.Items.Clear(); camiones.Items.Add(camion); truckLayer.Data = camiones; AnimacionDeCammionMapaYFoto(); } catch (Exception exception) { UiTimerCamion.Enabled = false; InteraccionConUsuarioServicio.MensajeErrorDialogo(exception.Message); } }