public IEnumerable <PieChartData> GetGeckoboardPieChartForCheck(PieChartArgs args) { IEnumerable <PieChartData> data; using (var cmd = GetGeckoboardPieChartForCheckCommand(args)) { data = GetPiechartData(cmd.ExecuteReader()); } return(data); }
protected override AdhocCommandBase GetGeckoboardPieChartForCheckCommand(PieChartArgs args) { var outcome = ConvertOutcome(args.Outcome); var operation = ConvertOperation(args.DataOperation); return(SQLiteAdhocCommand.UsingSmartConnection(myConfig.ConnectionString) .WithSql(SQLiteStatement.Create( "SELECT Tags [SegmentId], {0} [Count] FROM AgentData WHERE CheckId=", operation) .InsertParameter("@pCheckId", args.Check) .AppendIf(() => !string.IsNullOrEmpty(outcome), "AND {0}", outcome) .AppendIf(() => !string.IsNullOrEmpty(args.Site), "AND SiteId=") .InsertParameterIf(() => !string.IsNullOrEmpty(args.Site), "@pSiteId", args.Site) .AppendIf(() => !string.IsNullOrEmpty(args.Agent), "AND AgentId=") .InsertParameterIf(() => !string.IsNullOrEmpty(args.Agent), "@pAgentId", args.Agent) .Append("GROUP BY Tags"))); }
protected override AdhocCommandBase GetGeckoboardPieChartForCheckCommand(PieChartArgs args) { string outcome; string operation; switch (args.DataOperation) { case DataOperationType.Average: operation = "AVG(ResultCount)"; break; case DataOperationType.Sum: operation = "SUM(ResultCount)"; break; default: operation = "COUNT(*)"; break; } switch (args.Outcome) { case OutcomeType.Failure: outcome = "(Result = 0)"; break; case OutcomeType.Success: outcome = "(Result = 1)"; break; default: outcome = string.Empty; break; } return(SqlServerAdhocCommand.UsingSmartConnection(myConfig.ConnectionString) .WithSql(SqlServerStatement.Create( "SELECT Tags [SegmentId], {0} [Count] FROM AgentData WHERE CheckId=", operation) .InsertParameter("@pCheckId", args.Check) .AppendIf(() => !string.IsNullOrEmpty(outcome), "AND {0}", outcome) .AppendIf(() => !string.IsNullOrEmpty(args.Site), "AND SiteId=") .InsertParameterIf(() => !string.IsNullOrEmpty(args.Site), "@pSiteId", args.Site) .AppendIf(() => !string.IsNullOrEmpty(args.Agent), "AND AgentId=") .InsertParameterIf(() => !string.IsNullOrEmpty(args.Agent), "@pAgentId", args.Agent) .Append("GROUP BY Tags"))); }
protected abstract AdhocCommandBase GetGeckoboardPieChartForCheckCommand(PieChartArgs args);