public List <TrendingData> GetTrendingData(DateTime startDate, DateTime endDate, int channelId) { List <TrendingData> trendingData = new List <TrendingData>(); using (IDbCommand cmd = DataContext.Connection.Connection.CreateCommand()) { cmd.CommandText = "dbo.selectAlarmDataByChannelByDate"; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 30000; IDbDataParameter StartDate = cmd.CreateParameter(); IDbDataParameter EndDate = cmd.CreateParameter(); IDbDataParameter ChannelID = cmd.CreateParameter(); StartDate.ParameterName = "@StartDate"; EndDate.ParameterName = "@EndDate"; ChannelID.ParameterName = "@ChannelID"; StartDate.Value = startDate; EndDate.Value = endDate; ChannelID.Value = channelId; cmd.Parameters.Add(StartDate); cmd.Parameters.Add(EndDate); cmd.Parameters.Add(ChannelID); using (IDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { TrendingData obj = new TrendingData(); obj.ChannelID = Convert.ToInt32(reader["ChannelID"]); obj.SeriesType = Convert.ToString(reader["SeriesType"]); obj.Time = Convert.ToDateTime(reader["Time"]); obj.Value = Convert.ToDouble(reader["Value"]); trendingData.Add(obj); } } } return(trendingData); }
public List<TrendingData> getTrendingDataForPeriod(string siteID, string colorScale,string targetDateFrom, string targetDateTo, string userName) { SqlConnection conn = null; SqlDataReader rdr = null; List<TrendingData> theset = new List<TrendingData>(); DateTime thedatefrom = DateTime.Parse(targetDateFrom); DateTime thedateto = DateTime.Parse(targetDateTo); int duration = thedateto.Subtract(thedatefrom).Days + 1; try { conn = new SqlConnection(connectionstring); conn.Open(); SqlCommand cmd = new SqlCommand("dbo.selectTrendingDataByChannelByDate", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@StartDate", thedatefrom)); cmd.Parameters.Add(new SqlParameter("@EndDate", thedateto)); cmd.Parameters.Add(new SqlParameter("@colorScale", colorScale)); cmd.Parameters.Add(new SqlParameter("@MeterID", siteID)); cmd.Parameters.Add(new SqlParameter("@username", userName)); cmd.CommandTimeout = 300; rdr = cmd.ExecuteReader(); if (rdr.HasRows) { while (rdr.Read()) { TrendingData td = new TrendingData(); td.Date = Convert.ToString(rdr["Date"]); td.Maximum = Convert.ToDouble(rdr["Maximum"]); td.Minimum = Convert.ToDouble(rdr["Minimum"]); td.Average = Convert.ToDouble(rdr["Average"]); theset.Add(td); } } } finally { if (conn != null) { conn.Close(); } if (rdr != null) { rdr.Close(); } } return (theset); }