private IActionResult ProcessWeathersList(WeathersList response)
        {
            if (response == null || response.List == null)
            {
                return(NotFound(JsonConvert.SerializeObject(response)));
            }

            if ("Success".Equals(response.MessageResponse))
            {
                _apiService.Create(response);
                response.MessageResponse += $"weathers created in db from weathers returned from api";

                return(Ok(JsonConvert.SerializeObject(response)));
            }
            else
            {
                return(BadRequest(JsonConvert.SerializeObject(response)));
            }
        }
        public async Task <WeathersList> ConsumeWeatherApiService(string[] cities)
        {
            if (!ValidRequest(cities))
            {
                return(RequesIsNotValid());
            }

            var weathersList = new WeathersList();

            var sbLog = new StringBuilder();

            foreach (var city in cities)
            {
                _restClient.BaseUrl = new Uri($"http://localhost:56297/api/WeatherForecast/{city}");
                var request = new RestRequest(Method.GET);

                var resp = await _restClient.ExecuteGetAsync <IRestResponse>(request);

                if (resp == null)
                {
                    sbLog.AppendLine($"error: response is null; Request idCity: {city}");
                    continue;
                }
                ;

                Console.WriteLine(resp.Content);
                if (string.IsNullOrEmpty(resp.Content) || resp.Content == null)
                {
                    sbLog.AppendLine($"Content is empty - statusCode: {resp.StatusCode}, message: {resp.ErrorMessage}; Request idCity: {city}");
                }
                else
                {
                    weathersList = JsonConvert.DeserializeObject <WeathersList>(resp.Content);
                }
            }

            SetHesponseHeadersCustom(weathersList, sbLog);
            return(weathersList);
        }
        private static void SetHesponseHeadersCustom(WeathersList responseList, StringBuilder sbLog)
        {
            bool logIsNull = string.IsNullOrEmpty(sbLog.ToString());

            responseList.MessageResponse = (logIsNull ? "Success" : sbLog.ToString());
        }
Exemplo n.º 4
0
 public void Remove(WeathersList apiTestIn) =>
 WeathersColl.DeleteOne(apiTest => apiTest._Id == apiTestIn._Id);
Exemplo n.º 5
0
 public void Update(string id, WeathersList apiTestIn) =>
 WeathersColl.ReplaceOne(apiTest => apiTest._Id == id, apiTestIn);
Exemplo n.º 6
0
 public WeathersList Create(WeathersList apiTest)
 {
     WeathersColl.InsertOne(apiTest);
     return(apiTest);
 }