protected void ShowMensaje(LogMensaje mensaje) { var iconDir = IconDir; var color = mensaje.Accion != null ? Color.FromArgb(100, mensaje.Accion.Red, mensaje.Accion.Green, mensaje.Accion.Blue) : Color.Gray; panelTitle.BackColor = color; panelTitle.ForeColor = color.GetBrightness() < 40 ? Color.White: Color.Black; if (mensaje.Accion != null && mensaje.Accion.PopIcon > 0) { imgAccion.ImageUrl = string.Format("{0}/{1}", iconDir, mensaje.Accion.PopUpIcon.PathIcono); } else { imgAccion.Visible = false; } lbMensaje.Text = mensaje.Texto; lblHora.Text = mensaje.Fecha.ToDisplayDateTime().ToString("dd/MM/yyyy HH:mm"); lblRecepcion.Text = mensaje.FechaAlta.HasValue ? "(" + mensaje.FechaAlta.Value.ToDisplayDateTime().ToString("dd/MM/yyyy HH:mm") + ")" : string.Empty; var pos = mensaje.Fecha; var link = string.Format( "../Monitor/MonitorHistorico/monitorHistorico.aspx?Planta={0}&TypeMobile={1}&Movil={2}&InitialDate={3}&FinalDate={4}&ShowMessages=0&ShowPOIS=0&Empresa={5}", mensaje.Coche.Linea != null ? mensaje.Coche.Linea.Id : -1, mensaje.Coche.TipoCoche.Id, mensaje.Coche.Id, pos.Subtract(TimeSpan.FromMinutes(15)).ToString(CultureInfo.InvariantCulture), pos.Add(TimeSpan.FromMinutes(1)).ToString(CultureInfo.InvariantCulture), mensaje.Coche.Empresa != null ? mensaje.Coche.Empresa.Id : mensaje.Coche.Linea != null ? mensaje.Coche.Linea.Empresa.Id : -1); lbMensaje.OnClientClick = string.Format("window.open('{0}', '" + CultureManager.GetMenu("OPE_MON_HISTORICO") + "')", link); lblMovil.Text = mensaje.Coche.Interno; var imgMovl = string.Format("{0}/{1}", iconDir, mensaje.Coche.TipoCoche.IconoNormal.PathIcono); imgMovil.ImageUrl = imgMovl; var chofer = mensaje.Chofer ?? mensaje.Coche.Chofer; lblChofer.Text = chofer != null ? string.Format("{0} - {1}", chofer.Legajo, chofer.Entidad.Descripcion) : CultureManager.GetString("Labels", "SIN_CHOFER"); lblDireccion.Text = GeocoderHelper.GetDescripcionEsquinaMasCercana(mensaje.Latitud, mensaje.Longitud); lblLatitud.Text = mensaje.Latitud.ToString(CultureInfo.InvariantCulture); lblLongitud.Text = mensaje.Longitud.ToString(CultureInfo.InvariantCulture); Monitor1.ImgPath = Config.Monitor.GetMonitorImagesFolder(this); Monitor1.GoogleMapsScript = GoogleMapsKey; Monitor1.EnableTimer = false; Monitor1.AddLayers(LayerFactory.GetGoogleStreet(CultureManager.GetLabel("LAYER_GSTREET"), 8), //LayerFactory.GetCompumap(CultureManager.GetLabel("LAYER_COMPUMAP"), Config.Map.CompumapTiles, 8), LayerFactory.GetOpenStreetMap(CultureManager.GetLabel("LAYER_OSM")), LayerFactory.GetGoogleSatellite(CultureManager.GetLabel("LAYER_GSAT"), 8), LayerFactory.GetGoogleHybrid(CultureManager.GetLabel("LAYER_GHIBRIDO"), 8), LayerFactory.GetGooglePhysical(CultureManager.GetLabel("LAYER_GFISICO"), 8), LayerFactory.GetMarkers(LayerVehiculos, true)); Monitor1.AddControls(ControlFactory.GetLayerSwitcher(), ControlFactory.GetNavigation()); Monitor1.SetCenter(mensaje.Latitud, mensaje.Longitud, 7); Monitor1.AddMarkers(LayerVehiculos, MarkerFactory.CreateMarker(mensaje.Coche.Id.ToString("#0"), imgMovl, mensaje.Latitud, mensaje.Longitud)); var empresa = mensaje.Coche.Empresa; var linea = mensaje.Coche.Linea; var user = WebSecurity.AuthenticatedUser != null?DAOFactory.UsuarioDAO.FindById(WebSecurity.AuthenticatedUser.Id) : null; var mensajes = DAOFactory.MensajeDAO.FindByTipo(null, empresa, linea, user); var messages = mensajes.Where(m => m.TipoMensaje.DeAtencion).OrderBy(m => m.Descripcion); cbMensaje.ClearItems(); cbMensaje.AddItem(CultureManager.GetControl("DDL_NO_MESSAGE"), cbMensaje.NoneValue); foreach (var msg in messages) { cbMensaje.AddItem(msg.Descripcion, msg.Id); } if (mensaje.Estado > 0) { btAceptar.Visible = false; btIgnorar.ImageUrl = "~/Operacion/btAtras.gif"; var atencion = DAOFactory.AtencionEventoDAO.GetByEvento(mensaje.Id); if (atencion != null) { panelUsuario.Visible = true; lblUsuario.Text = atencion.Usuario.NombreUsuario; panelFecha.Visible = true; lblFecha.Text = atencion.Fecha.ToDisplayDateTime().ToString("dd/MM/yyyy HH:mm"); cbMensaje.SetSelectedValue(atencion.Mensaje.Id); cbMensaje.Enabled = false; txtObservacion.Text = atencion.Observacion; txtObservacion.Enabled = false; } } if (!WebSecurity.IsSecuredAllowed(Securables.EventAttention)) { btAceptar.Visible = false; btIgnorar.ImageUrl = "~/Operacion/btAtras.gif"; } }
private void InitMarker(Marker marker) { _marker = marker; _mapMarker = MarkerFactory.CreateMarker(_marker.MarkerType); _mapMarker.IsVisible = false; }
protected void ShowPuntos(List <ViajeDistribucion> distribuciones) { monitorPuntos.ClearLayers(); var entregas = new List <EntregaDistribucion>(); foreach (var distribucion in distribuciones) { entregas.AddRange(distribucion.Detalles.Where(d => d.Linea == null)); } var completados = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.Completado); var visitados = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.Visitado); var noCompletados = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.NoCompletado); var sinVisitar = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.SinVisitar); var enSitio = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.EnSitio); var pendientes = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.Pendiente); var enZona = entregas.Count(e => e.Estado == EntregaDistribucion.Estados.EnZona); var estados = GetEstados(); var filtradas = entregas.Where(e => estados.Count == 0 || estados.Contains(e.Estado)); var markers = new List <Marker>(); var lat = 0.0; var lon = 0.0; foreach (var entrega in filtradas) { var punto = entrega.ReferenciaGeografica; if (punto != null) { string url; var style = string.Empty; var text = string.Empty; lat = punto.Latitude; lon = punto.Longitude; switch (entrega.Estado) { case EntregaDistribucion.Estados.Completado: url = ResolveUrl("~/images/Green-Ball-icon.png"); style = "ol_marker_labeled_green"; text = entrega.Manual.HasValue ? entrega.Orden + " (" + entrega.Manual.Value.ToDisplayDateTime().ToString("HH:mm") + ")" : entrega.Orden.ToString("#0"); break; case EntregaDistribucion.Estados.Visitado: url = ResolveUrl("~/images/Yellow-Ball-icon.png"); style = "ol_marker_labeled_yellow"; text = entrega.Entrada.HasValue ? entrega.Orden + " (" + entrega.Entrada.Value.ToDisplayDateTime().ToString("HH:mm") + ")" : entrega.Orden.ToString("#0"); break; case EntregaDistribucion.Estados.NoCompletado: url = ResolveUrl("~/images/Red-Ball-icon.png"); style = "ol_marker_labeled_red"; text = entrega.Manual.HasValue ? entrega.Orden + " (" + entrega.Manual.Value.ToDisplayDateTime().ToString("HH:mm") + ")" : entrega.Orden.ToString("#0"); break; case EntregaDistribucion.Estados.EnSitio: url = ResolveUrl("~/images/Blue-Ball-icon.png"); style = "ol_marker_labeled_blue"; text = entrega.Entrada.HasValue ? entrega.Orden + " (" + entrega.Entrada.Value.ToDisplayDateTime().ToString("HH:mm") + ")" : entrega.Orden.ToString("#0"); break; case EntregaDistribucion.Estados.EnZona: url = ResolveUrl("~/images/Grey-Ball-icon.png"); style = "ol_marker_labeled"; text = entrega.Entrada.HasValue ? entrega.Orden + " (" + entrega.Entrada.Value.ToDisplayDateTime().ToString("HH:mm") + ")" : entrega.Orden.ToString("#0"); break; default: url = ResolveUrl("~/images/Orange-Ball-icon.png"); break; } if (style != string.Empty) { var lmarker = MarkerFactory.CreateLabeledMarker("P:" + punto.Id, url, punto.Latitude, punto.Longitude, text, style, GetEntregaPopupContent(entrega.Id)); markers.Add(lmarker); } else { var marker = MarkerFactory.CreateMarker("P:" + punto.Id, url, punto.Latitude, punto.Longitude, GetEntregaPopupContent(entrega.Id)); markers.Add(marker); } } if (lat != 0.0 && lon != 0.0) { monitorPuntos.SetCenter(lat, lon); } } monitorPuntos.AddMarkers(LayerPuntos, markers.ToArray()); var porc = 0.0; var finalizados = completados + visitados + enSitio + enZona; if (entregas.Count > 0 && finalizados > 0) { porc = (float)finalizados / (float)entregas.Count * 100; } gaugeCompletados.Gauges[0].Value = porc; lblCompletados.Text = porc.ToString("#0") + " % (" + finalizados + ")"; lblComp.Text = completados.ToString("#0"); lblVisitados.Text = visitados.ToString("#0"); lblNoCompletados.Text = noCompletados.ToString("#0"); lblSinVisitar.Text = sinVisitar.ToString("#0"); lblEnSitio.Text = enSitio.ToString("#0"); lblPendientes.Text = pendientes.ToString("#0"); lblEnZona.Text = enZona.ToString("#0"); lblTotal.Text = entregas.Count.ToString("#0"); lblRutas.Text = distribuciones.Count.ToString("#0"); }
protected void ShowEvento(LogEvento evento) { var iconDir = IconDir; var color = evento.Accion != null ? Color.FromArgb(100, evento.Accion.Red, evento.Accion.Green, evento.Accion.Blue) : Color.Gray; panelTitle.BackColor = color; panelTitle.ForeColor = color.GetBrightness() < 40 ? Color.White : Color.Black; if (evento.Accion != null && evento.Accion.PopIcon > 0) { imgAccion.ImageUrl = string.Format("{0}/{1}", iconDir, evento.Accion.PopUpIcon.PathIcono); } else { imgAccion.Visible = false; } lbMensaje.Text = evento.Texto; lblHora.Text = evento.Fecha.ToDisplayDateTime().ToString("dd \"de\" MMMM \"de\" yyyy HH:mm"); lblEntidad.Text = evento.SubEntidad != null ? evento.SubEntidad.Entidad.Descripcion : string.Empty; lblSubEntidad.Text = evento.SubEntidad != null ? evento.SubEntidad.Descripcion : string.Empty; if (evento.SubEntidad != null) { foreach (DetalleValor detalle in evento.SubEntidad.Entidad.Detalles) { var valor = string.Empty; switch (detalle.Detalle.Tipo) { case 1: valor = detalle.ValorStr; break; case 2: valor = detalle.ValorNum.ToString("#0.00"); break; case 3: valor = detalle.ValorDt.HasValue ? detalle.ValorDt.Value.ToString("dd/MM/yyyy HH:mm") : string.Empty; break; } var lbl = new Label { Text = @"<b>" + detalle.Detalle.Nombre + @":</b> " + valor + @"<br/><br/>" }; panelDetalles.Controls.Add(lbl); } lblDireccion.Text = GeocoderHelper.GetDescripcionEsquinaMasCercana(evento.SubEntidad.Entidad.ReferenciaGeografica.Latitude, evento.SubEntidad.Entidad.ReferenciaGeografica.Longitude); } Monitor1.ImgPath = Config.Monitor.GetMonitorImagesFolder(this); Monitor1.GoogleMapsScript = GoogleMapsKey; Monitor1.EnableTimer = false; Monitor1.AddLayers(LayerFactory.GetGoogleStreet(CultureManager.GetLabel("LAYER_GSTREET"), 8), //LayerFactory.GetCompumap(CultureManager.GetLabel("LAYER_COMPUMAP"), Config.Map.CompumapTiles, 8), LayerFactory.GetOpenStreetMap(CultureManager.GetLabel("LAYER_OSM")), LayerFactory.GetGoogleSatellite(CultureManager.GetLabel("LAYER_GSAT"), 8), LayerFactory.GetGoogleHybrid(CultureManager.GetLabel("LAYER_GHIBRIDO"), 8), LayerFactory.GetGooglePhysical(CultureManager.GetLabel("LAYER_GFISICO"), 8), LayerFactory.GetMarkers(LayerEntidades, true)); Monitor1.AddControls(ControlFactory.GetLayerSwitcher(), ControlFactory.GetNavigation()); if (evento.SubEntidad != null) { Monitor1.SetCenter(evento.SubEntidad.Entidad.ReferenciaGeografica.Latitude, evento.SubEntidad.Entidad.ReferenciaGeografica.Longitude, 7); var imgEntidad = string.Format("{0}{1}", iconDir, evento.SubEntidad.Entidad.ReferenciaGeografica.Icono.PathIcono); Monitor1.AddMarkers(LayerEntidades, MarkerFactory.CreateMarker(evento.SubEntidad.Entidad.Id.ToString("#0"), imgEntidad, evento.SubEntidad.Entidad.ReferenciaGeografica.Latitude, evento.SubEntidad.Entidad.ReferenciaGeografica.Longitude)); } if (evento.Estado > 0) { btAceptar.Visible = false; btIgnorar.ImageUrl = "~/Operacion/btAtras.gif"; } }