private void HandleInspection(FileInfo file, Sensores sensor) { DateTime fecha = DateTime.Parse(sensor.last_date_saved); #region Lectura de las filas del archivo DataTable csv = null; try { controllerLog.debug("Leyendo: " + file.FullName); csv = FilesHandler.FileToTable(file.FullName, ','); } catch (Exception ex) { controllerLog.stack("No fue posible leer: " + file.FullName, this, ex); } #endregion if (csv != null) { if (csv.Rows.Count > 0) { int filas = 0; bool creado = true; foreach (DataRow Fila in csv.Rows) { humedad = Fila[0].ToString(); temperatura = Fila[1].ToString(); fecha_medicion = Convert.ToDateTime(Fila[4].ToString()); if (fecha_medicion > fecha) { filas++; creado = Mediciones.createMeasure(sensor.id_sensor, temperatura, humedad, fecha_medicion); if (!creado) { controllerLog.warning("La Fila con fecha " + fecha_medicion + " para sensor " + sensor.nombre + " NO se agregó a la BD"); } } else { //controllerLog.warning(file.FullName+"| la fila con fecha " + fecha_medicion + " NO se agregará a la BD"); } } if (filas > 0) { controllerLog.success("Registros Agregados: " + filas); } else { controllerLog.success("No se han registrado Nuevas Mediciones"); } //Actualizo la fecha de la última lectura de las mediciones controllerLog.info("---------------------------------------------"); controllerLog.info("Actualizando Ping de Sensor " + sensor.nombre); Sensores.UpdatePing(sensor.nombre, fecha_medicion); controllerLog.info("Ping Actualizado."); controllerLog.info("---------------------------------------------"); } } }
public static List <Mediciones> ListadoMediciones() { List <Mediciones> resultado = new List <Mediciones>(); string CadenaBD = System.Configuration.ConfigurationManager.AppSettings["CadenaBD"].ToString(); SqlConnection conexion = new SqlConnection(CadenaBD); try { SqlCommand cmd = new SqlCommand(); string consulta = "SELECT * FROM Mediciones"; cmd.Parameters.Clear(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = consulta; conexion.Open(); cmd.Connection = conexion; SqlDataReader dr = cmd.ExecuteReader(); if (dr != null) { while (dr.Read()) { // obtengo valores Mediciones m = new Mediciones(); m.Id = int.Parse(dr["Id"].ToString()); // nombre de columnas en "" de la BD talcual m.dia = int.Parse(dr["Dia"].ToString()); m.idEstacion = int.Parse(dr["IdEstacion"].ToString()); m.temperatura = float.Parse(dr["Temperatura"].ToString()); m.humedad = float.Parse(dr["Humedad"].ToString()); resultado.Add(m); // agregamos los objetos a la lista } } } catch (Exception) { throw; } finally { conexion.Close(); } return(resultado); }
public ActionResult AltaMedicion(Mediciones model) { if (ModelState.IsValid) { bool resultado = AD_Alta.InsertarNuevaMedicion(model); if (resultado) { return(RedirectToAction("ListadoMediciones", "Mediciones")); } else { return(View(model)); } } else { return(View(model)); } }
public static bool InsertarNuevaMedicion(Mediciones medicion) { bool resultado = false; string CadenaBD = System.Configuration.ConfigurationManager.AppSettings["CadenaBD"].ToString(); SqlConnection conexion = new SqlConnection(CadenaBD); try { SqlCommand cmd = new SqlCommand(); string consulta = "INSERT INTO Mediciones VALUES(@dia, @idEstacion, @temperatura, @humedad)"; cmd.Parameters.Clear(); // agregamos parametros cmd.Parameters.AddWithValue("@dia", medicion.dia); cmd.Parameters.AddWithValue("@idEstacion", medicion.idEstacion); cmd.Parameters.AddWithValue("@temperatura", medicion.temperatura); cmd.Parameters.AddWithValue("@humedad", medicion.humedad); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = consulta; conexion.Open(); cmd.Connection = conexion; cmd.ExecuteNonQuery(); resultado = true; } catch (Exception) { throw; } finally { conexion.Close(); } return(resultado); }