public GeckometerData GetGeckoMeterDataForSiteCheck(GeckometerArgs args) { var data = new GeckometerData(); using (var cmd = GetGeckoMeterDataForSiteCheckCommand(args)) { using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { data.Avg = (reader["Avg"] == DBNull.Value) ? 0 : Convert.ToDouble(reader["Avg"]); data.Min = (reader["Min"] == DBNull.Value) ? 0 : Convert.ToDouble(reader["Min"]); data.Max = (reader["Max"] == DBNull.Value) ? 0 : Convert.ToDouble(reader["Max"]); } } } return(data); }
protected override AdhocCommandBase GetGeckoMeterDataForSiteCheckCommand(GeckometerArgs args) { return(SqlServerAdhocCommand.UsingSmartConnection(myConfig.ConnectionString) .WithSql(SqlServerStatement.Create( "SELECT MIN(ResultCount) [Min], MAX(ResultCount) [Max], AVG(ResultCount) [Avg] FROM AgentData WHERE (ResultCount IS NOT NULL) AND (EventType = 'Result') AND (SiteId=") .InsertParameter("@pSiteId", args.Site) .Append(") AND (CheckId=") .InsertParameter("@pCheckId", args.Check).Append(")") .AppendIf(() => !string.IsNullOrEmpty(args.Tag), "AND (tag='{0}')", args.Tag))); }
protected abstract AdhocCommandBase GetGeckoMeterDataForSiteCheckCommand(GeckometerArgs args);