public void SetLineChartData() { //Suppose we have a list of 60 items. using (ActiveSenseContext dbActiveContext = new ActiveSenseContext(ConfigurationManager.ConnectionStrings["TempsenseConnection"].ConnectionString)) { var lista = (from p in dbActiveContext.Medidas orderby p.FechaHora descending select p ).ToList(); lineChartData = dbActiveContext.Medidas.Select(p => p.Valor).Cast <int>().ToArray(); hora = dbActiveContext.Medidas.Select(p => p.FechaHora).Cast <string>().ToArray(); } }
public static string obtenerDispositivoAsociados(string idUser) { string idDispositivos = ""; if (idUser != "") { using (ActiveSenseContext context = new ActiveSenseContext(ConfigurationManager.ConnectionStrings["TempsenseConnection"].ConnectionString)) { AspNetUsers usuario = context.UsuariosASP.Find(idUser); var list = context.Dispositivos.Where(u => u.EmpresaID == usuario.EmpresaID); idDispositivos = string.Join(",", list.Select(item => item.DispositivoID)); } } return(idDispositivos); }
public int obtenerEmpresasAsociadas(string id, ActiveSenseContext contextT = null) { int idEmpresa = 0; if (id != "") { ActiveSenseContext contextDB = contextT != null ? contextT : dbActiveContext; AspNetUsers usuario = contextDB.UsuariosASP.Find(id); if (usuario.EmpresaID != 0) { idEmpresa = usuario.EmpresaID; } } return(idEmpresa); }
public Task ProcessEventsAsync(PartitionContext context, IEnumerable <EventData> messages) { List <ActiveSense.Tempsense.model.Modelo.Medida> medidas = new List <ActiveSense.Tempsense.model.Modelo.Medida>(); foreach (EventData eventData in messages) { string strConn = string.Format(ConfigurationManager.ConnectionStrings["TempsenseConnection"].ConnectionString, eventData.Properties["Ambiente"]); messageCount++; string data = Encoding.UTF8.GetString(eventData.GetBytes()); JObject o = JObject.Parse(data); var deviceKey = int.Parse(o["deviceKey"].ToString()); using (ActiveSenseContext db = new ActiveSenseContext(strConn)) { try { var disp = db.Dispositivos .Where(p => p.DispositivoID == deviceKey); if (disp.ToList().Count > 0) { ActiveSense.Tempsense.model.Modelo.Medida medida = new ActiveSense.Tempsense.model.Modelo.Medida() { DispositivoID = disp.FirstOrDefault().DispositivoID, Valor = decimal.Parse(o["valor"].ToString()), FechaHora = Convert.ToDateTime(o["fecha"].ToString()), }; Console.WriteLine(string.Format("Message received. Partition:{0}, Data:{1}{2}", context.Lease.PartitionId, data, eventData.EnqueuedTimeUtc)); db.Medidas.Add(medida); db.SaveChanges(); } else { Console.WriteLine(string.Format("Device Key not found in database:{0}, Message:{1}", o["deviceKey"].ToString(), o)); } } catch (Exception ex) { Console.WriteLine(string.Format("Mensaje tuvo error:{0},{1}", ex.Message, data)); } } } //if (messageCount > Configuracion.TamanoLoteMensajes) context.CheckpointAsync(); return(Task.FromResult <object>(null)); }
public string obtenerDispositivosAsociados(string id, ActiveSenseContext context = null) { string idDispositivos = ""; if (id != "") { ActiveSenseContext contextDB = context != null ? context : dbActiveContext; AspNetUsers usuario = contextDB.UsuariosASP.Find(id); if (usuario.EmpresaID != 0) { var list = contextDB.Dispositivos.Where(u => u.EmpresaID == usuario.EmpresaID); idDispositivos = string.Join(",", list.Select(item => item.DispositivoID)); } } return(idDispositivos); }
public void TakeLastTemp(string idUsuario) { List <DashboardTemperatureResult> lis = new List <DashboardTemperatureResult>(); try { using (ActiveSenseContext context = new ActiveSenseContext(ConfigurationManager.ConnectionStrings["TempsenseConnection"].ConnectionString)) { // metodo que permite validar si un usuario es de perfil administrador o no y buscar los datos segun esto. string perfil = userHelper.obtenerPerfil(idUsuario); int IdEmpresa = userHelper.obtenerEmpresasAsociadas(idUsuario, context); var result = context.Empresas.Where(u => u.EmpresaID == IdEmpresa).Include("Dispositivos.Medidas").ToList(); if (PERFIL_ADMINISTRADOR == perfil) { result = context.Empresas.Include("Dispositivos.Medidas").ToList(); } foreach (var item in result.SelectMany(x => x.Dispositivos)) { if (item.Medidas.OrderBy(y => y.FechaHora).Any()) { decimal MaxTemp = 0; decimal MinTemp = 0; decimal MaxTol = 0; decimal MinTol = 0; try { MaxTemp = context.Umbrals.ToList().Where(p => p.DispositivoID == item.DispositivoID).FirstOrDefault().Temperatura_max; MinTemp = context.Umbrals.ToList().Where(p => p.DispositivoID == item.DispositivoID).FirstOrDefault().Temperatura_min; } catch (Exception ex) { Debug.WriteLine("ERROR chartBroadcaster.cs umbrales temperatura."); Debug.WriteLine(ex.GetBaseException().ToString()); } try { MaxTol = context.Umbrals.ToList().Where(p => p.DispositivoID == item.DispositivoID).FirstOrDefault().Tolerancia_max; MinTol = context.Umbrals.ToList().Where(p => p.DispositivoID == item.DispositivoID).FirstOrDefault().Tolerancia_min; } catch (Exception ex) { Debug.WriteLine("ERROR chartBroadcaster.cs umbrales tolerancia."); Debug.WriteLine(ex.GetBaseException().ToString()); } finally { lis.Add(new DashboardTemperatureResult { DispositivoId = item.Medidas.OrderBy(y => y.FechaHora).LastOrDefault().DispositivoID, Empresa = item.Medidas.OrderBy(y => y.FechaHora).LastOrDefault().Dispositivo.Empresa.AbrEmpresa, Temperature = item.Medidas.OrderBy(y => y.FechaHora).LastOrDefault().Valor, Max = MaxTemp, Min = MinTemp, NombreDispositivo = context.Dispositivos.Where(p => p.DispositivoID == item.DispositivoID).FirstOrDefault().Nombre, MaxTolerancia = MaxTol, MinTolerancia = MinTol, TipoMedida = item.TipoMedida.Nombre }); } } } } } catch (Exception ex) { Debug.WriteLine("ERROR chartBroadcaster.cs"); Debug.WriteLine(ex.GetBaseException().ToString()); } temp = lis; }