public override string ToString() { return(String.Format("<tr><td>{0}</td>{1}</tr>", Standort.ToString(), Wetterwert.ToString())); }
/// <summary> /// Wandelt die String-Liste in Wetterdaten um. /// Author grudoa11 /// </summary> public void ConvertCSV() { List <String> input = this.m_DAL.ReadOut(); foreach (string str in input) { String[] sfeld = str.Split(';'); // Station int? stationsnummer = ConvertStringToIntNull(sfeld[0]); string hv = ConvertStringToStringNull(sfeld[1]); string[] hilfsfeld = hv.Split('"'); int indexDesOrtes = 0; if (hilfsfeld.Length >= 1) { indexDesOrtes = 1; // Falls die Daten von der ZAMG kommen muss Index 1 genommen werden } string ortsname = hilfsfeld[indexDesOrtes]; // wegen " und \ war ein Split durchzuführen int?seehoehe = ConvertStringToIntNull(sfeld[2]); // in Meter // Wetterdaten (nach reihenfolge in csv-datei) //DateTime messdatum = Convert.ToDateTime(sfeld[3]); // Datum und Zeit der Messung string[] datum = sfeld[3].Split('-', '"', '.'); int indexOfDatum = 0; if (datum.Length >= 3) { indexOfDatum = 1; // Falls ZAMG-Datei } int tag = Convert.ToInt32(datum[indexOfDatum]); int monat = Convert.ToInt32(datum[indexOfDatum + 1]); int jahr = Convert.ToInt32(datum[indexOfDatum + 2]); string[] zeit = sfeld[4].Split(':', '"'); int indexOfZeit = 0; if (zeit.Length >= 2) { indexOfZeit = 1; // Falls ZAMG-Datei } int stunde = Convert.ToInt32(zeit[indexOfZeit]); int minute = Convert.ToInt32(zeit[indexOfZeit + 1]); DateTime messdatum = new DateTime(jahr, monat, tag, stunde, minute, 0); float?temperatur = ConvertStringToFloatNull(sfeld[5]); // in °C float?taupunkt = ConvertStringToFloatNull(sfeld[6]); // in °C int? relativeLF = ConvertStringToIntNull(sfeld[7]); // in % int?windrichtung = ConvertStringToIntNull(sfeld[8]); // ° float?windgeschwindigkeit = ConvertStringToFloatNull(sfeld[9]); // in km/h // Windspitze kann auch NULL sein int?windspitzenrichtung = ConvertStringToIntNull(sfeld[10]); // in ° float?windspitzengesch = ConvertStringToFloatNull(sfeld[11]); // in km/h // NULL-Wert möglich float?niederschlag = ConvertStringToFloatNull(sfeld[12]);; // in l/m² float?luftdruckMeeresniveau = ConvertStringToFloatNull(sfeld[13]); // in hPa (hektoPascal) float?luftdruckStation = ConvertStringToFloatNull(sfeld[14]); // in hPa (hektoPascal) int? sonneneinstrahlung = ConvertStringToIntNull(sfeld[15]); // in % Wetterwert wwert = new Wetterwert { Messdatum = messdatum, Temperatur = temperatur, Taupunkt = taupunkt, RelativeLuftfeuchtigkeit = relativeLF, Windrichtung = windrichtung, Windgeschwindigkeit = windgeschwindigkeit, Windspitzenrichtung = windspitzenrichtung, Windspitzengeschwindigkeit = windspitzengesch, Niederschlag = niederschlag, LuftdurckMeeresniveau = luftdruckMeeresniveau, LuftdruckStationsniveau = luftdruckStation, Sonneneinstrahlung = sonneneinstrahlung }; Standort standort = new Standort { Ort = ortsname }; Wetterstation station = new Wetterstation { Wetterwert = wwert, Standort = standort }; this.list.Add(station); } }