public WeatherDashboardModel Map(WeatherUndergroundModel model) { var dashboardModel = new WeatherDashboardModel(); dashboardModel.CurrentCelsius = model.Current_Observation.Temp_C; dashboardModel.CurrentFahrenheit = model.Current_Observation.Temp_F; dashboardModel.CurrentSummary = model.Current_Observation.Weather; dashboardModel.Icon = model.Current_Observation.Icon; dashboardModel.IconUrl = model.Current_Observation.Icon_Url; dashboardModel.Forecast = new List <DayDashboard>(); foreach (var day in model.Forecast.SimpleForecast.ForecastDay.Take(int.Parse(settingsManager.Get(Constants.FORECAST_DEFAULT_SIZE)))) { var dayDashboard = new DayDashboard(); dayDashboard.Summary = day.Conditions; dayDashboard.LowCelsius = day.Low.Celsius; dayDashboard.LowFahrenheit = day.Low.Fahrenheit; dayDashboard.HighCelsius = day.High.Celsius; dayDashboard.HighFahrenheit = day.High.Fahrenheit; dayDashboard.Icon = day.Icon; dayDashboard.IconUrl = day.Icon_Url; dayDashboard.Date = new DateTime(1970, 1, 1).AddSeconds(day.Date.Epoch); dashboardModel.Forecast.Add(dayDashboard); } return(dashboardModel); }
public WeatherDashboardModel Map(DarkSkyModel model) { var dashboardModel = new WeatherDashboardModel(); dashboardModel.CurrentCelsius = model.Currently.Temperature; dashboardModel.CurrentFahrenheit = model.Currently.Temperature * (decimal)1.8 + 32; //using conversion formula dashboardModel.CurrentSummary = model.Currently.Summary; dashboardModel.Icon = model.Currently.Icon; dashboardModel.IconUrl = null; dashboardModel.Forecast = new List <DayDashboard>(); foreach (var day in model.Daily.Data.Take(int.Parse(settingsManager.Get(Constants.FORECAST_DEFAULT_SIZE)))) { var dayDashboard = new DayDashboard(); dayDashboard.Summary = day.Summary; dayDashboard.LowCelsius = day.TemperatureLow; dayDashboard.LowFahrenheit = day.TemperatureLow * (decimal)1.8 + 32; dayDashboard.HighCelsius = day.TemperatureHigh; dayDashboard.HighFahrenheit = day.TemperatureHigh * (decimal)1.8 + 32; dayDashboard.Icon = day.Icon; dayDashboard.IconUrl = null; dayDashboard.Date = new DateTime(1970, 1, 1).AddSeconds(day.Time); dashboardModel.Forecast.Add(dayDashboard); } return(dashboardModel); }
public JsonResult Get(string provider, decimal latitude, decimal longitude) { var weatherDashboardModel = new WeatherDashboardModel(); weatherProvider = DependencyConfig.Container.GetInstance <IWeatherProvider>(provider); weatherDashboardModel = weatherProvider.GetForecast(latitude, longitude); var model = mapper.Map(weatherDashboardModel); return(Json(model, JsonRequestBehavior.AllowGet)); }
public ForecastModel Map(WeatherDashboardModel model) { var forecastModel = new ForecastModel(); forecastModel.CurrentCelsius = model.CurrentCelsius; forecastModel.CurrentFahrenheit = model.CurrentFahrenheit; forecastModel.CurrentSummary = model.CurrentSummary; forecastModel.Icon = model.Icon; if (string.IsNullOrWhiteSpace(model.IconUrl)) { forecastModel.IconUrl = "./images/" + model.Icon + ".png"; } else { forecastModel.IconUrl = model.IconUrl; } forecastModel.Forecast = new List <ForecastDayDashboard>(); foreach (var modelDay in model.Forecast) { var forecastDay = new ForecastDayDashboard(); forecastDay.Summary = modelDay.Summary; forecastDay.LowCelsius = modelDay.LowCelsius; forecastDay.LowFahrenheit = modelDay.LowFahrenheit; forecastDay.HighCelsius = modelDay.HighCelsius; forecastDay.HighFahrenheit = modelDay.HighFahrenheit; forecastDay.Icon = modelDay.Icon; if (string.IsNullOrWhiteSpace(modelDay.IconUrl)) { forecastDay.IconUrl = "./images/" + modelDay.Icon + ".png"; } else { forecastDay.IconUrl = modelDay.IconUrl; } forecastDay.Date = modelDay.Date; forecastModel.Forecast.Add(forecastDay); } return(forecastModel); }