Exemple #1
0
        public IEnumerable <PieChartData> GetGeckoboardPieChartForCheck(PieChartArgs args)
        {
            IEnumerable <PieChartData> data;

            using (var cmd = GetGeckoboardPieChartForCheckCommand(args))
            {
                data = GetPiechartData(cmd.ExecuteReader());
            }

            return(data);
        }
Exemple #2
0
        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")));
        }
Exemple #3
0
        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")));
        }
Exemple #4
0
 protected abstract AdhocCommandBase GetGeckoboardPieChartForCheckCommand(PieChartArgs args);