public string WeatherDataListing() { //Forms the weather data into a string separated by line feeds string wsList = ""; if (weaList.Count > 0) { { wsList += "WriteDate:\t" + ReportDate.ToString("hh:mm:ss"); wsList += "\r\n" + "TempScale:\t" + TempScale.ToString(); wsList += "\r\n" + "WindScale:\t" + WindScale.ToString(); wsList += "\r\n" + "SkyTemp:\t" + SkyTemp.ToString(); wsList += "\r\n" + "AmbTemp:\t" + AmbTemp.ToString(); wsList += "\r\n" + "SenTemp:\t" + SenTemp.ToString(); wsList += "\r\n" + "WindSpeed:\t" + WindSpeed.ToString(); wsList += "\r\n" + "Humidity:\t\t" + Humidity.ToString(); wsList += "\r\n" + "DewPoint:\t" + DewPoint.ToString(); wsList += "\r\n" + "DewHeat:\t" + DewHeat.ToString(); wsList += "\r\n" + "RainFlag:\t\t" + RainFlag.ToString(); wsList += "\r\n" + "WetFlag:\t\t" + WetFlag.ToString(); wsList += "\r\n" + "ElapsedTime:\t" + ElapsedSeconds.ToString(); wsList += "\r\n" + "LastDataWrite:\t" + LastDataWrite.ToString("hh:mm:ss"); wsList += "\r\n" + "Cloudiness:\t" + Cloudiness.ToString(); wsList += "\r\n" + "Windiness:\t" + Windiness.ToString(); wsList += "\r\n" + "Raininess:\t" + Raininess.ToString(); wsList += "\r\n" + "Darkness:\t" + Darkness.ToString(); wsList += "\r\n" + "RoofCloseFlag:\t" + RoofCloseFlag.ToString(); wsList += "\r\n" + "AlertFlag:\t\t" + AlertFlag.ToString(); } } return(wsList); }
private Rain GetRandomRain(Month month, Cloudiness cloudiness) { double fraction = random.NextDouble(); switch (month) { case Month.January: case Month.February: case Month.December: if (fraction < 0.05 && cloudiness != Cloudiness.Low) { return(Rain.Heavy); } else if (fraction < 0.2) { return(Rain.Drizzle); } else { return(Rain.None); } case Month.July: case Month.August: if (fraction < 0.05 && cloudiness != Cloudiness.Low) { return(Rain.Thunderstorm); } else if (fraction < 0.1) { return(Rain.Heavy); } else if (fraction < 0.3) { return(Rain.Drizzle); } else { return(Rain.None); } default: if (fraction < 0.01 && cloudiness != Cloudiness.Low) { return(Rain.Thunderstorm); } else if (fraction < 0.03) { return(Rain.Heavy); } else if (fraction < 0.1) { return(Rain.Drizzle); } else { return(Rain.None); } } }
private Rain GetRandomRain(Month month, Cloudiness cloudiness) { double fraction = random.NextDouble(); switch(month) { case Month.January: case Month.February: case Month.December: if(fraction < 0.05 && cloudiness != Cloudiness.Low) return Rain.Heavy; else if(fraction < 0.2) return Rain.Drizzle; else return Rain.None; case Month.July: case Month.August: if(fraction < 0.05 && cloudiness != Cloudiness.Low) return Rain.Thunderstorm; else if(fraction < 0.1) return Rain.Heavy; else if(fraction < 0.3) return Rain.Drizzle; else return Rain.None; default: if(fraction < 0.01 && cloudiness != Cloudiness.Low) return Rain.Thunderstorm; else if(fraction < 0.03) return Rain.Heavy; else if(fraction < 0.1) return Rain.Drizzle; else return Rain.None; } }
public WeatherInfo GetWeatherInfo(DateTime dateValue) { WeatherInfo info = weatherInfoCache[dateValue] as WeatherInfo; if (info == null) { Month month = (Month)(dateValue.Month - 1); TemperatureRange temperature = GetRandomDayTemperature(averageMonthTemperatures[month]); Cloudiness cloudiness = GetRandomCloudiness(); Rain rain = GetRandomRain(month, cloudiness); info = new WeatherInfo(dateValue, TemperatureUnit.Celsius, temperature.Min.Value, temperature.Max.Value, cloudiness, rain, GetRandomSnow(month), GetRandomFog(month), GetRandomHail(rain)); weatherInfoCache[dateValue] = info; } return(info); }
public WeatherInfo(DateTime date, TemperatureUnit unit, int temperatureLow, int temperatureHi, Cloudiness cloudiness, Rain rain, bool snow, bool fog, bool hail) { if (temperatureHi < temperatureLow) { throw new ArgumentException("temperatureHi < temperatureLow"); } this.date = date; this.temperatureLow = new Temperature(temperatureLow, unit); this.temperatureHi = new Temperature(temperatureHi, unit); this.cloudiness = cloudiness; this.rain = rain; this.snow = snow; this.fog = fog; this.hail = hail; }
public ActionResult Edit(int id, FormCollection collection) { try { // TODO: Add update logic here string name = collection.Get("Name"); Cloudiness cloudiness = new Cloudiness() { ID = id, Name = name }; IRepository <Cloudiness> repo = new CloudinessRepository(); repo.Update(cloudiness); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Create(FormCollection collection) { try { // TODO: Add insert logic here string name = collection.Get("Name"); Cloudiness cloudiness = new Cloudiness() { Name = name }; IRepository <Cloudiness> repo = new CloudinessRepository(); repo.Save(cloudiness); return(RedirectToAction("Index")); } catch { return(View()); } }
private static void ParseMainXForecast(XElement xForecast, List <AbstractParameter> parameters) { parameters.Add(Temperature.FromDouble( xForecast.Element("temperature").Attribute("value").Value)); parameters.Add(WindDirection.FromDouble( xForecast.Element("windDirection").Attribute("deg").Value)); parameters.Add(WindSpeed.FromDouble( xForecast.Element("windSpeed").Attribute("mps").Value)); parameters.Add(Humidity.FromDouble( xForecast.Element("humidity").Attribute("value").Value)); parameters.Add(Pressure.FromHpa( xForecast.Element("pressure").Attribute("value").Value)); parameters.Add(Cloudiness.FromDouble( xForecast.Element("cloudiness").Attribute("percent").Value)); }
private static void ParseXForecast(XElement xForecast, List <AbstractParameter> parameters) { var xPhenomena = xForecast.Element("PHENOMENA"); parameters.Add(Cloudiness.FromRange( xPhenomena.Attribute("cloudiness").Value, maxClouds)); parameters.Add(PrecipitationKind.FromGismeteoBased( xPhenomena.Attribute("precipitation").Value)); var xPres = xForecast.Element("PRESSURE"); parameters.Add(new Pressure( xPres.Attribute("max").Value)); parameters.Add(new Pressure( xPres.Attribute("min").Value)); var xTemp = xForecast.Element("TEMPERATURE"); parameters.Add(new Temperature( xTemp.Attribute("max").Value)); parameters.Add(new Temperature( xTemp.Attribute("min").Value)); var xWind = xForecast.Element("WIND"); parameters.Add(WindDirection.FromRange( xWind.Attribute("direction").Value, maxWindDir)); parameters.Add(new WindSpeed( xWind.Attribute("max").Value)); parameters.Add(new WindSpeed( xWind.Attribute("min").Value)); var xHum = xForecast.Element("RELWET"); parameters.Add(new Humidity( xHum.Attribute("max").Value)); parameters.Add(new Humidity( xHum.Attribute("min").Value)); }
private static void ParseXForecast(XElement xForecast, List <AbstractParameter> parameters) { var temp = Temperature.FromDouble( xForecast.Element("temp_c").Value); parameters.Add(temp); parameters.Add(WindSpeed.FromKnot( xForecast.Element("wind_speed_kt").Value)); parameters.Add(new WindDirection( xForecast.Element("wind_dir_degrees").Value)); var skyDescription = ParseXSky(xForecast); parameters.Add(Cloudiness.FromMetarReportInFt( skyDescription)); parameters.Add(Pressure.FromInhg( xForecast.Element("altim_in_hg").Value)); var duePoint = Temperature.FromDouble( xForecast.Element("dewpoint_c").Value); parameters.Add(Humidity.FromDewPoint(temp, duePoint)); var xWx = xForecast.Element("wx_string"); if (xWx != null) { parameters.Add(PrecipitationKind.FromMetar( xWx.Value)); } else { parameters.Add(new PrecipitationKind(0)); } }
private static void ConvertHourForecast(HourForecast hourForecast, List <AbstractParameter> parameters) { parameters.Add(new Temperature( hourForecast.temperature)); parameters.Add(Pressure.FromHpa( hourForecast.pressure)); parameters.Add(new PrecipitationAmount( hourForecast.precipIntensity)); parameters.Add(Humidity.FromPart( hourForecast.humidity)); parameters.Add(Cloudiness.FromPart( hourForecast.cloudCover)); parameters.Add(new WindDirection( hourForecast.windBearing)); parameters.Add(new WindSpeed( hourForecast.windSpeed)); }
public WeatherInfo(DateTime date, TemperatureUnit unit, int temperatureLow, int temperatureHi, Cloudiness cloudiness, Rain rain, bool snow, bool fog, bool hail) { if(temperatureHi < temperatureLow) throw new ArgumentException("temperatureHi < temperatureLow"); this.date = date; this.temperatureLow = new Temperature(temperatureLow, unit); this.temperatureHi = new Temperature(temperatureHi, unit); this.cloudiness = cloudiness; this.rain = rain; this.snow = snow; this.fog = fog; this.hail = hail; }