/// <summary> /// Método que obtiene de la web el último fichero con los datos de aire colgado por el ayuntamiento de Madrid /// </summary> /// <returns></returns> public static List <Entidades.RuidoEstaciones> ObtenerRuidoEstaciones() { Entidades.RuidoEstaciones oRuidoEstaciones = new Entidades.RuidoEstaciones(); List <Entidades.RuidoEstaciones> listRuidoEstaciones = new List <Entidades.RuidoEstaciones>(); DataSet ds = Datos.RuidoEstaciones.ObtenerRuidoEstaciones(); if (ds != null) { foreach (DataRow dr in ds.Tables[0].Rows) { oRuidoEstaciones = new Entidades.RuidoEstaciones(); oRuidoEstaciones.CodEstacion = Int32.Parse(dr[1].ToString()); oRuidoEstaciones.Nombre = dr[2].ToString(); oRuidoEstaciones.Direccion = dr[3].ToString(); oRuidoEstaciones.Longitud = Decimal.Parse(dr[4].ToString()); oRuidoEstaciones.Latitud = Decimal.Parse(dr[5].ToString()); oRuidoEstaciones.Altitud = Decimal.Parse(dr[6].ToString()); oRuidoEstaciones.IdRuidoObjetivo = Int32.Parse(dr[7].ToString()); oRuidoEstaciones.NivelDiurno = Decimal.Parse(dr[8].ToString()); oRuidoEstaciones.NivelNocturno = Decimal.Parse(dr[9].ToString()); oRuidoEstaciones.DescripcionNivel = dr[10].ToString(); listRuidoEstaciones.Add(oRuidoEstaciones); } } return(listRuidoEstaciones); }
/// <summary> /// Método para leer el fichero descargado de la web del ayuntamiento de Madrid. El método devuelve una lista de objetos de tipo AireEntidad. /// </summary> /// <param name="oDownloadFile"></param> /// <returns></returns> public static List<Entidades.Ruido> LeerFichero(LogEntidad oDownloadFile, List<Entidades.RuidoEstaciones> listRuidoEstaciones) { try { Entidades.Ruido oRuido = new Entidades.Ruido(); List<Entidades.Ruido> listRuido = new List<Entidades.Ruido>(); List<Entidades.Ruido> listRuidoAuxiliar = new List<Entidades.Ruido>(); Entidades.RuidoEstaciones oRuidoEstaciones = new Entidades.RuidoEstaciones(); string linea = string.Empty; int numLinea = 0; char separador = char.Parse(","); string[] lectura = new string[57]; System.IO.StreamReader file = new System.IO.StreamReader(ConfigurationManager.AppSettings["UrlLocalRuido"].ToString() + (oDownloadFile.fichero)); linea = file.ReadLine(); numLinea++; do { lectura = new string[11]; lectura = linea.ToString().Split(separador); oRuido = new Entidades.Ruido(); oRuido.CodEstacion = int.Parse(lectura[0].Trim()); oRuido.Anio = int.Parse(lectura[1].Trim()); oRuido.Mes = int.Parse(lectura[2].Trim()); oRuido.Dia = int.Parse(lectura[3].Trim()); oRuido.Periodo = lectura[4].Trim(); oRuido.LAEQ = decimal.Parse(lectura[5].Trim().Replace(".",",")); oRuido.LAS01 = decimal.Parse(lectura[6].Trim().Replace(".", ",")); oRuido.LAS10 = decimal.Parse(lectura[7].Trim().Replace(".", ",")); oRuido.LAS50 = decimal.Parse(lectura[8].Trim().Replace(".", ",")); oRuido.LAS90 = decimal.Parse(lectura[9].Trim().Replace(".", ",")); oRuido.LAS99 = decimal.Parse(lectura[10].Trim().Replace(".", ",")); oRuidoEstaciones = listRuidoEstaciones.Find(x => int.Parse(x.CodEstacion.ToString()) == int.Parse(lectura[0].Trim())); if (oRuidoEstaciones != null) { oRuido.Nombre = oRuidoEstaciones.Nombre; oRuido.Longitud = oRuidoEstaciones.Longitud; oRuido.Latitud = oRuidoEstaciones.Latitud; } listRuido.Add(oRuido); } while ((linea = file.ReadLine()) != null); file.Close(); listRuidoAuxiliar = UnificarLecturasEstaciones(listRuido); //Retornamos la lista de los elementos leídos del fichero. return listRuidoAuxiliar; } catch (Exception ex) { throw ex; } }