コード例 #1
0
        public async Task <SpitCast> GetForecast(int id, string county)
        {
            SpitCast spitCast = null;

            using (var client = new HttpClient())
            {
                var forecastsUrl   = new Uri($"http://api.spitcast.com/api/spot/forecast/{id}/");
                var waterTempUrl   = new Uri($"http://api.spitcast.com/api/county/water-temperature/{county}/");
                var windDetailsUrl = new Uri($"http://api.spitcast.com/api/county/wind/{county}/");

                var forecastsJson = await GetSpitCast(client, forecastsUrl);

                var waterTempJson = await GetSpitCast(client, waterTempUrl);

                var windDetailsJson = await GetSpitCast(client, windDetailsUrl);

                var forecasts   = new List <Forecast>();
                var waterTemp   = new WaterTemp();
                var windDetails = new List <WindDetail>();

                forecasts   = JsonConvert.DeserializeObject <List <Forecast> >(forecastsJson);
                waterTemp   = JsonConvert.DeserializeObject <WaterTemp>(waterTempJson);
                windDetails = JsonConvert.DeserializeObject <List <WindDetail> >(windDetailsJson);

                spitCast             = new SpitCast();
                spitCast.Forecasts   = forecasts;
                spitCast.WaterTemp   = waterTemp;
                spitCast.WindDetails = windDetails;

                return(spitCast);
            }
        }
コード例 #2
0
        public ActionResult <ItemsResponse <Forecast> > GetForecast(int id, string county)
        {
            int          code     = 201;
            BaseResponse response = null;

            try
            {
                Task <SpitCast> forecasts = _forecastServices.GetForecast(id, county);
                if (forecasts == null)
                {
                    code     = 404;
                    response = new ErrorResponse("App Resource not found.");
                }
                else
                {
                    SpitCast forecastResults = forecasts.Result;
                    response = new ItemResponse <SpitCast> {
                        Item = forecastResults
                    };
                }
            }
            catch (Exception ex)
            {
                code     = 500;
                response = new ErrorResponse(ex.Message);
                base.Logger.LogError(ex.ToString());
            }
            return(StatusCode(code, response));
        }