示例#1
0
        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);
        }
示例#2
0
        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);
        }