public static HeWeatherModel Generate(string resstr, DataSource dataSource) { switch (dataSource) { case DataSource.HeWeather: var he = HeWeatherContract.Generate(resstr); try { return(new HeWeatherModel(he)); } catch (Exception) { return(null); } case DataSource.Caiyun: var cai = CaiyunContract.Generate(resstr); return(new HeWeatherModel(cai.now, cai.forecast)); case DataSource.Wunderground: var wun = WunderGroundContract.Generate(resstr); return(new HeWeatherModel(wun)); default: return(null); } }
public HeWeatherModel(HeWeatherContract heweathercontract) { if (heweathercontract == null) { throw new ArgumentException("Value can't be null."); } Status = ParseStatus(heweathercontract.status); Aqi = new AQI(heweathercontract.aqi); DailyForecast = GenerateDailyForecast(heweathercontract.daily_forecast); HourlyForecast = GenerateHourlyForecast(heweathercontract.hourly_forecast); Alarms = GenerateWeatherAlarms(heweathercontract.alarms); Location = new Location(heweathercontract.basic); NowWeather = new NowWeather(heweathercontract.now); WeatherSuggestion = new WeatherSuggestion(heweathercontract.suggestion); }