예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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;
            }
        }