Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }