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