public string color { get; set; }//indica el grado de alerta. green:normal, yellow:alarma de tº media, red: alarma de tº alta public static List<lecturas> obtenerUltimasLecturasMolino(string nombreMolino) { List<lecturas> retorno = new List<lecturas>(); List<sensores> listaSensores = sensores.obtenerTodosMolino(nombreMolino); SqlConnection cnx = conexion.crearConexion(); for (int i = 0; i < listaSensores.Count; i++) { lecturas temp = new lecturas(); temp.numeroPolo = listaSensores[i].numero; temp.epc = listaSensores[i].epc; DateTime diezMinutos = DateTime.Now.AddMinutes(-10); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT TOP 1 * from lecturas WHERE EPC='" + listaSensores[i].epc + "' AND fecha>=@diezMinutos ORDER BY fecha DESC"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@diezMinutos", SqlDbType.DateTime).Value = diezMinutos; SqlDataReader dr = cmd.ExecuteReader(); if(!dr.HasRows){ temp.fecha = DateTime.Now; temp.temperatura = 0; if(listaSensores[i].temperaturaAlta<=temp.temperatura)temp.color="red"; else if (listaSensores[i].temperaturaMedia <= temp.temperatura) temp.color = "yellow"; else temp.color = "green"; } while (dr.Read()) { temp.fecha = (DateTime)dr["fecha"]; temp.temperatura = (double)dr["temperatura"]; if(listaSensores[i].temperaturaAlta<=temp.temperatura)temp.color="red"; else if (listaSensores[i].temperaturaMedia <= temp.temperatura) temp.color = "yellow"; else temp.color = "green"; } retorno.Add(temp); dr.Close(); } cnx.Close(); return retorno; }
public static lecturas obtenerUltimaLectura(string EPC) { lecturas retorno = new lecturas(); sensores sensor = new sensores().getSensor(EPC); DateTime diezMinutos = DateTime.Now.AddMinutes(-10); SqlConnection cnx = conexion.crearConexion(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT TOP 1 * from lecturas WHERE EPC='" + sensor.epc + "' and fecha>@fecha ORDER BY fecha DESC"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = diezMinutos; SqlDataReader dr = cmd.ExecuteReader(); if (!dr.HasRows) { retorno.numeroPolo = sensor.numero; retorno.epc = sensor.epc; retorno.fecha = DateTime.Now; retorno.temperatura = 0; if (sensor.temperaturaAlta <= retorno.temperatura) retorno.color = "red"; else if (sensor.temperaturaMedia <= retorno.temperatura) retorno.color = "yellow"; else retorno.color = "green"; } while (dr.Read()) { retorno.numeroPolo = sensor.numero; retorno.epc = sensor.epc; retorno.fecha = (DateTime)dr["fecha"]; retorno.temperatura = (double)dr["temperatura"]; if (sensor.temperaturaAlta <= retorno.temperatura) retorno.color = "red"; else if (sensor.temperaturaMedia <= retorno.temperatura) retorno.color = "yellow"; else retorno.color = "green"; } dr.Close(); cnx.Close(); return retorno; }
public static List<lecturas> obtenerUltimosDatos(string EPC, string inicio, string fin) { string año = inicio.Split(' ')[0].Split('/')[2]; string mes = inicio.Split(' ')[0].Split('/')[1]; string dia = inicio.Split(' ')[0].Split('/')[0]; string hora = inicio.Split(' ')[1].Split(':')[0]; string minuto = inicio.Split(' ')[1].Split(':')[1]; if (inicio.Split(' ')[2].Equals("AM") && hora.Equals("12")) hora = "0"; if (inicio.Split(' ')[2].Equals("PM") && !hora.Equals("12")) hora = (int.Parse(hora) + 12).ToString(); DateTime Inicio = new DateTime(int.Parse(año), int.Parse(mes), int.Parse(dia), int.Parse(hora), int.Parse(minuto), 0); año = fin.Split(' ')[0].Split('/')[2]; mes = fin.Split(' ')[0].Split('/')[1]; dia = fin.Split(' ')[0].Split('/')[0]; hora = fin.Split(' ')[1].Split(':')[0]; minuto = fin.Split(' ')[1].Split(':')[1]; if (fin.Split(' ')[2].Equals("AM") && hora.Equals("12")) hora = "0"; if (fin.Split(' ')[2].Equals("PM") && !hora.Equals("12")) hora = (int.Parse(hora) + 12).ToString(); DateTime Fin = new DateTime(int.Parse(año), int.Parse(mes), int.Parse(dia), int.Parse(hora), int.Parse(minuto), 0); List<lecturas> retorno = new List<lecturas>(); sensores sensor = new sensores().getSensor(EPC); SqlConnection cnx = conexion.crearConexion(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT * from lecturas WHERE EPC='" + sensor.epc + "' AND fecha>=@inicio AND fecha<=@fin ORDER BY fecha ASC"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@inicio", SqlDbType.DateTime).Value = Inicio; cmd.Parameters.Add("@fin", SqlDbType.DateTime).Value = Fin; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { lecturas temp = new lecturas(); temp.numeroPolo = sensor.numero; temp.epc = sensor.epc; temp.fecha = (DateTime)dr["fecha"]; temp.temperatura = (double)dr["temperatura"]; if (sensor.temperaturaAlta <= temp.temperatura) temp.color = "red"; else if (sensor.temperaturaMedia <= temp.temperatura) temp.color = "yellow"; else temp.color = "green"; retorno.Add(temp); } dr.Close(); cnx.Close(); return retorno; }
public static List<lecturas> obtenerUltimosDatos(string EPC, string tiempo) { List<lecturas> retorno = new List<lecturas>(); sensores sensor = new sensores().getSensor(EPC); SqlConnection cnx = conexion.crearConexion(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT * from lecturas WHERE EPC='" + sensor.epc + "' AND fecha>=@fecha ORDER BY fecha ASC"; cmd.CommandType = CommandType.Text; DateTime fecha = new DateTime(); if (tiempo.Equals("all")) { fecha = new DateTime(2001, 01, 01); } else if (tiempo.Equals("3h")) { fecha = DateTime.Now.AddMinutes(-180); } else if (tiempo.Equals("1h")) { fecha = DateTime.Now.AddMinutes(-60); } else if (tiempo.Equals("20m")) { fecha = DateTime.Now.AddMinutes(-20); } cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value=fecha; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { lecturas temp = new lecturas(); temp.numeroPolo = sensor.numero; temp.epc = sensor.epc; temp.fecha = (DateTime)dr["fecha"]; temp.temperatura = (double)dr["temperatura"]; if (sensor.temperaturaAlta <= temp.temperatura) temp.color = "red"; else if (sensor.temperaturaMedia <= temp.temperatura) temp.color = "yellow"; else temp.color = "green"; retorno.Add(temp); } dr.Close(); cnx.Close(); return retorno; }
public static List<lecturas> obtenerUltimosDiezMinutosMolinoTemp(string nombreMolino, string temperatura, string inicio, string fin) { string año = inicio.Split(' ')[0].Split('/')[2]; string mes = inicio.Split(' ')[0].Split('/')[1]; string dia = inicio.Split(' ')[0].Split('/')[0]; string hora = inicio.Split(' ')[1].Split(':')[0]; string minuto = inicio.Split(' ')[1].Split(':')[1]; if (inicio.Split(' ')[2].Equals("AM") && hora.Equals("12")) hora = "0"; if (inicio.Split(' ')[2].Equals("PM") && !hora.Equals("12")) hora = (int.Parse(hora) + 12).ToString(); DateTime Inicio = new DateTime(int.Parse(año), int.Parse(mes), int.Parse(dia), int.Parse(hora), int.Parse(minuto), 0); año = fin.Split(' ')[0].Split('/')[2]; mes = fin.Split(' ')[0].Split('/')[1]; dia = fin.Split(' ')[0].Split('/')[0]; hora = fin.Split(' ')[1].Split(':')[0]; minuto = fin.Split(' ')[1].Split(':')[1]; if (fin.Split(' ')[2].Equals("AM") && hora.Equals("12")) hora = "0"; if (fin.Split(' ')[2].Equals("PM") && !hora.Equals("12")) hora = (int.Parse(hora) + 12).ToString(); DateTime Fin = new DateTime(int.Parse(año), int.Parse(mes), int.Parse(dia), int.Parse(hora), int.Parse(minuto), 0); float Temperatura = float.Parse(temperatura); List<lecturas> retorno = new List<lecturas>(); List<sensores> listaSensores = sensores.obtenerTodosMolino(nombreMolino); SqlConnection cnx = conexion.crearConexion(); for (int i = 0; i < listaSensores.Count; i++) { List<lecturas> esteEPC = new List<lecturas>(); bool agregar = false; SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT * from lecturas WHERE EPC='" + listaSensores[i].epc + "' AND fecha>=@inicio AND fecha<=@fin ORDER BY fecha ASC"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@inicio", SqlDbType.DateTime).Value = Inicio; cmd.Parameters.Add("@fin", SqlDbType.DateTime).Value = Fin; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { lecturas temp = new lecturas(); temp.numeroPolo = listaSensores[i].numero; temp.epc = listaSensores[i].epc; temp.fecha = (DateTime)dr["fecha"]; temp.temperatura = (double)dr["temperatura"]; if (temp.temperatura > Temperatura) agregar = true; if (listaSensores[i].temperaturaAlta <= temp.temperatura) temp.color = "red"; else if (listaSensores[i].temperaturaMedia <= temp.temperatura) temp.color = "yellow"; else temp.color = "green"; if(temp.temperatura>=Temperatura)esteEPC.Add(temp); } dr.Close(); if (agregar) { for (int j = 0; j < esteEPC.Count; j++) { retorno.Add(esteEPC[j]); } } } cnx.Close(); return retorno; }
public static List<lecturas> obtenerUltimosDiezMinutosMolinoTemp(string nombreMolino, string temperatura) { float Temperatura = float.Parse(temperatura); List<lecturas> retorno = new List<lecturas>(); List<sensores> listaSensores = sensores.obtenerTodosMolino(nombreMolino); SqlConnection cnx = conexion.crearConexion(); for (int i = 0; i < listaSensores.Count; i++) { List<lecturas> esteEPC = new List<lecturas>(); bool agregar = false; SqlCommand cmd = new SqlCommand(); cmd.Connection = cnx; cmd.CommandText = "SELECT * from lecturas WHERE EPC='" + listaSensores[i].epc + "' AND fecha>=@cincoMinutos ORDER BY fecha ASC"; cmd.CommandType = CommandType.Text; DateTime diezMinutos = DateTime.Now.AddMinutes(-10); cmd.Parameters.Add("@cincoMinutos", SqlDbType.DateTime).Value = diezMinutos; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { lecturas temp = new lecturas(); temp.numeroPolo = listaSensores[i].numero; temp.epc = listaSensores[i].epc; temp.fecha = (DateTime)dr["fecha"]; temp.temperatura = (double)dr["temperatura"]; if (temp.temperatura > Temperatura) agregar = true; if (listaSensores[i].temperaturaAlta <= temp.temperatura) temp.color = "red"; else if (listaSensores[i].temperaturaMedia <= temp.temperatura) temp.color = "yellow"; else temp.color = "green"; if (temp.temperatura >= Temperatura) esteEPC.Add(temp); } dr.Close(); if (agregar) { for (int j = 0; j < esteEPC.Count; j++) { retorno.Add(esteEPC[j]); } } } cnx.Close(); return retorno; }