예제 #1
0
        public IList <ErrorCountRecord> GetTopRankingErrors(AdoQueryPayload adoQueryPayload)
        {
            var results = new List <ErrorCountRecord>();

            using (var connection = new SqlConnection("Database=ErrorsDb;Server=(local);Trusted_Connection=true;"))
            {
                using (var command = new SqlCommand(adoQueryPayload.GetSqlText(), connection))
                {
                    foreach (var parameter in adoQueryPayload.Parameters)
                    {
                        command.Parameters.Add(parameter);
                    }

                    using (var reader = command.ExecuteReader())
                    {
                        var record = new ErrorCountRecord();
                        record.ApplicationId        = reader["ApplicationId"].ToString();
                        record.Count                = (int)reader["Count"];
                        record.Fingerprint          = reader["FingerprintText"].ToString();
                        record.HighestAppStackFrame = reader["HighestAppStackFrame"].ToString();
                        record.LowestAppStackFrame  = reader["LowestAppStackFrame"].ToString();
                        record.OriginExceptionType  = reader["OriginExceptionType"].ToString();
                        record.OriginStackFrame     = reader["OriginStackFrame"].ToString();

                        results.Add(record);
                    }
                }
            }

            return(results);
        }