/// <summary>
        ///
        /// </summary>
        /// <param name="jobGroup"></param>
        /// <returns></returns>
        public bool IsJobCompleted(Guid jobId, out int ruleCount)
        {
            ruleCount = 0;

            try
            {
                while (true)
                {
                    using (var ctx = SuiteEntitiesUtility.GetODataValidationSuiteEntities())
                    {
                        var job = (from j in ctx.ExtValidationJobs
                                   where j.ID == jobId
                                   select j).FirstOrDefault();

                        if (job != null && job.Complete.HasValue && job.Complete == true)
                        {
                            ruleCount = job.RuleCount.Value;
                            return(true);
                        }
                        else
                        {
                            Thread.Sleep(5000);
                        }
                    }
                }
            }
            catch (System.Data.OptimisticConcurrencyException)
            {
                return(false);
                // error occured while trying to mark operation as complete.  This is not a terminal error for this system and
                // this is on a threadpool thread so swallow the exception
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="jobGroup"></param>
        /// <returns></returns>
        public List <TestResult> GetTestResults(Guid jobId)
        {
            List <TestResult> testResults = new List <TestResult>();

            try
            {
                using (var ctx = SuiteEntitiesUtility.GetODataValidationSuiteEntities())
                {
                    var results = from j in ctx.TestResults
                                  where j.ValidationJobID == jobId
                                  select j;

                    testResults = results.ToList();
                }
            }
            catch (System.Data.OptimisticConcurrencyException)
            {
                // error occured while trying to mark operation as complete.  This is not a terminal error for this system and
                // this is on a threadpool thread so swallow the exception
            }

            return(testResults);
        }