//> -- FUNCIONES private async Task CargarDatos(DateTime?fechaInicio = null, DateTime?fechaFin = null) { Int32.TryParse(idEstacionBase, out int id); nombreEstacionBase = await servicioEstacionBase.Nombre(id); var sensores = await servicioEstacionBase.ObtenerSensores(id); listaDatosTemp = new List <Tuple <string, List <double> > >(); listaDatosHum = new List <Tuple <string, List <double> > >(); List <DateTime> stamps = new List <DateTime>(); foreach (var sensor in sensores) { IEnumerable <EntidadDatoBase> datos; if (fechaInicio == null || fechaFin == null) { datos = await servicioSE.ObtenerDatos(sensor.IdSensor, 10); } else { datos = await servicioSE.ObtenerDatos(sensor.IdSensor, fechaInicio, fechaFin.Value.AddDays(1)); // FILTRAMOS POR FECHA } listaDatosTemp.Add(new Tuple <string, List <double> >(sensor.NombreSensor, datos.Select(_ => (double)_.Temperatura).ToList())); listaDatosHum.Add(new Tuple <string, List <double> >(sensor.NombreSensor, datos.Select(_ => (double)_.Humedad).ToList())); stamps.AddRange(datos.Select(_ => _.Stamp).ToList()); } Labels = stamps.OrderBy(_ => _.Ticks).Distinct().Select(_ => _.ToString()).ToArray(); StateHasChanged(); }
protected override async Task OnInitializedAsync() { servicioEstacionBase = FactoriaServicios.GetServicioEstacionBase(); Int32.TryParse(idEstacionBase, out int id); nombreEstacionBase = await servicioEstacionBase.Nombre(id); listaSensores = await servicioEstacionBase.ObtenerSensores(id); //que pasa si la estacion base no tiene sensores -> devuelve una lista null foreach (EntidadSensorResultado sensor in listaSensores) { if (sensor.Fecha == default(DateTime)) { MarkerDataSource.Add(new MapMarkerDataSource { latitude = Convert.ToDouble(sensor.Latitud), longitude = Convert.ToDouble(sensor.Longitud), name = sensor.NombreSensor, color = "red" }); } else { MarkerDataSource.Add(new MapMarkerDataSource { latitude = Convert.ToDouble(sensor.Latitud), longitude = Convert.ToDouble(sensor.Longitud), name = sensor.NombreSensor, color = "green" }); } } if (listaSensores.Count() > 0) { latitudInicial = MarkerDataSource.ElementAt(0).latitude; longitudInicial = MarkerDataSource.ElementAt(0).longitude; } mapa.Refresh(); // Refrescar mapa }
protected override async Task OnSecureParameterSetAsync() { if (autorizado) { Int32.TryParse(idEstacionBase, out int idEb); nombreEstacionBase = await servicioEstacionBase.Nombre(idEb); listaSensores = await servicioEstacionBase.ObtenerSensores(idEb); //que pasa si la estacion base no tiene sensores -> devuelve una lista null List <MapMarkerDataSource> marcadores = new List <MapMarkerDataSource>(); string colorMarcador; foreach (EntidadSensorResultado sensor in listaSensores) { if (sensor.Fecha == default(DateTime)) { colorMarcador = "red"; } else { colorMarcador = "green"; } marcadores.Add(new MapMarkerDataSource { latitude = Convert.ToDouble(sensor.Latitud), longitude = Convert.ToDouble(sensor.Longitud), name = sensor.NombreSensor, color = colorMarcador }); } MarkerDataSource.AddRange(marcadores); if (listaSensores.Count() > 0) { latitudInicial = MarkerDataSource.ElementAt(0).latitude; longitudInicial = MarkerDataSource.ElementAt(0).longitude; } } }