Пример #1
0
        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);
        }
Пример #2
0
 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)));
 }
Пример #3
0
 protected abstract AdhocCommandBase GetGeckoMeterDataForSiteCheckCommand(GeckometerArgs args);