public Models.TemperatureStatistics GetStatisticsByCity(string city) { Models.TemperatureStatistics info = null; this.Error = string.Empty; try { string strcmd = @" SELECT CAST(MIN(DTREAD) as DATE) as FIRSTDATE ,CAST(MAX(DTREAD) as DATE) as LASTDATE ,MIN(TEMP) MINTEMP ,MAX(TEMP) MAXTEMP ,AVG(TEMP) AVGTEMP ,COUNT(ID) TOTAL FROM LOGCITY WITH(NOLOCK) WHERE CITY=@_city "; using (SqlConnection sqlcon = new SqlConnection(this.ConnString)) { sqlcon.Open(); if (sqlcon.State == ConnectionState.Open) { using (SqlCommand sqlcmd = new SqlCommand(strcmd, sqlcon)) { sqlcmd.Parameters.AddWithValue("_city", city.Trim().ToUpper()); SqlDataReader reader = sqlcmd.ExecuteReader(); while (reader.Read()) { info = new Models.TemperatureStatistics() { CityName = city.ToUpper().Trim(), AvgTemp = Conversion.ToDouble(reader["AVGTEMP"]), MaxTemp = Conversion.ToDouble(reader["MAXTEMP"]), MinTemp = Conversion.ToDouble(reader["MINTEMP"]), FirstDate = Conversion.ToDate(reader["FIRSTDATE"]), LastDate = Conversion.ToDate(reader["LASTDATE"]), Total = Conversion.ToDouble(reader["TOTAL"]), }; } reader.Close(); } } sqlcon.Close(); } } catch (Exception ex) { this.Error = ex.Message; } return(info); }
public Models.TemperatureStatistics GetStatisticsByCity(string city) { Models.TemperatureStatistics info = null; try { //var client = new RestClient($"http://localhost:50879/api/Statistics/city/{city}"); //var client = new RestClient($"http://localhost/ingaiawebapi/api/Statistics/city/{city}"); var client = new RestClient($"https://ingaiachallenge.azurewebsites.net/api/Statistics/city/{city}"); var request = new RestRequest(Method.GET); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Accept", "application/json"); request.AddHeader("Authorization", Constants.ConstValues.SECURITY_KEY); IRestResponse response = client.Execute(request); if (response.IsSuccessful) { info = SimpleJson.DeserializeObject <Models.TemperatureStatistics>(response.Content); } else { if (response != null && response.Content.Length > 0) { ErrorApiMessage err = SimpleJson.DeserializeObject <Models.ErrorApiMessage>(response.Content); if (err != null && err.message.Length > 0) { throw new Exception(err.message); } } else { throw new Exception(response.ErrorException.Message); } } } catch (Exception ex) { throw ex; } return(info); }