public AppFront.ForecastData GetForecastByGeo(string param) { AppFront.ForecastData data = new AppFront.ForecastData(); string[] strs = param.Split(','); if (strs.Length < 2) { data.Code = AppFront.ReturnCode.BAD; return(data); } string lat = strs[0].Trim(); string lon = strs[1].Trim(); var resp = handler.GetForcast(lat, lon); if (resp == null) { data.Code = AppFront.ReturnCode.BAD; return(data); } data.City = resp.City.Name; data.Country = resp.City.Country; var list = new LinkedList <AppFront.ForecastData.Data>(); int lastDay = -1; foreach (var forecast in resp.Forecasts) { if (forecast.DtTxt.Day != lastDay) { AppFront.ForecastData.Data d = new AppFront.ForecastData.Data(); d.Temperature = forecast.Main.Temp; d.TemperatureMax = forecast.Main.TempMax; d.TemperatureMin = forecast.Main.TempMin; d.Humidity = forecast.Main.Humidity; d.Weather = forecast.Weather[0].Main; d.Pressure = forecast.Main.Pressure; d.Date = forecast.DtTxt.Date.ToString("MMM. dd"); list.AddLast(d); lastDay = forecast.DtTxt.Day; } } data.Forecasts = list.ToArray(); data.Code = AppFront.ReturnCode.GOOD; return(data); }
public AppFront.ForecastData GetForecastById(string param) { AppFront.ForecastData data = new AppFront.ForecastData(); long id; if (!long.TryParse(param, out id)) { data.Code = AppFront.ReturnCode.BAD; return(data); } var resp = handler.GetForcast(id); if (resp == null) { data.Code = AppFront.ReturnCode.BAD; return(data); } data.City = resp.City.Name; data.Country = resp.City.Country; var list = new LinkedList <AppFront.ForecastData.Data>(); int lastDay = -1; foreach (var forecast in resp.Forecasts) { if (forecast.DtTxt.Day != lastDay) { AppFront.ForecastData.Data d = new AppFront.ForecastData.Data(); d.Temperature = forecast.Main.Temp; d.TemperatureMax = forecast.Main.TempMax; d.TemperatureMin = forecast.Main.TempMin; d.Humidity = forecast.Main.Humidity; d.Weather = forecast.Weather[0].Main; d.Pressure = forecast.Main.Pressure; d.Date = forecast.DtTxt.Date.ToString("MMM. dd"); list.AddLast(d); lastDay = forecast.DtTxt.Day; } } data.Forecasts = list.ToArray(); data.Code = AppFront.ReturnCode.GOOD; return(data); }