public questStatus ExecuteFilter(RunFilterRequest runFilterRequest, out ResultsSet resultsSet)
        {
            // TODO: business rules about what can/cannot be saved.

            // Initialize
            questStatus status = null;

            resultsSet = null;
            DbResultsMgr dbResultsMgr = new DbResultsMgr(this.UserSession);


            // Execute the filter
            status = dbResultsMgr.ExecuteFilter(runFilterRequest, out resultsSet);
            if (bLogging)
            {
                FilterLog filterLog = new FilterLog();
                filterLog.Database = "";
                filterLog.Tableset = "";
                filterLog.Name     = "FilterId=" + runFilterRequest.FilterId.ToString();
                filterLog.Event    = "EXECUTE";
                filterLog.Data     = String.Format("RowLimit: {0}  ColLimit: {1}   PageNumber: {2}   PageSize: {3}   Result rows: {4}  questStatus: {5}",
                                                   runFilterRequest.RowLimit, runFilterRequest.ColLimit, runFilterRequest.PageNumber, runFilterRequest.PageSize,
                                                   resultsSet == null ? "(N/A)" : resultsSet.NumRows.ToString(),
                                                   status.ToString());
                FilterLogId filterLogId = null;
                _dbFilterLogsMgr.Create(filterLog, out filterLogId);
            }
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus Run(RunFilterRequest runFilterRequest, Filter filter, out ResultsSet resultsSet)
        {
            // Initialize
            questStatus status = null;

            resultsSet = null;


            // Run the filter
            DbResultsMgr dbResultsMgr = new DbResultsMgr(this.UserSession);

            status = dbResultsMgr.Run(runFilterRequest, filter, out resultsSet);
            if (bLogging)
            {
                FilterLog filterLog = new FilterLog();
                filterLog.Database = "";
                filterLog.Tableset = "";
                filterLog.Name     = "FilterId=" + runFilterRequest.FilterId.ToString();
                filterLog.Event    = "RUN";
                filterLog.Data     = String.Format("RowLimit: {0}  ColLimit: {1}   PageNumber: {2}   PageSize: {3}   Result rows: {4}  questStatus: {5}",
                                                   runFilterRequest.RowLimit, runFilterRequest.ColLimit, runFilterRequest.PageNumber, runFilterRequest.PageSize, resultsSet.NumRows, status.ToString());
                FilterLogId filterLogId = null;
                _dbFilterLogsMgr.Create(filterLog, out filterLogId);
            }
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            return(new questStatus(Severity.Success));
        }