public questStatus GetNumEntities(ResultsSet resultsSet, out int numEntities)
        {
            // Initialize
            numEntities = 0;


            List <string> entityNameList = new List <string>();

            foreach (dynamic _dynRow in resultsSet.Data)
            {
                DynamicRowViewModel dynamicRowViewModel = new DynamicRowViewModel();
                foreach (KeyValuePair <string, object> kvp in _dynRow)
                {
                    string[] pp                 = kvp.Key.Split('_');
                    string   entityName         = pp[0];
                    string   existingEntityName = entityNameList.Find(delegate(string t) { return(t == entityName); });
                    if (existingEntityName == null)
                    {
                        entityNameList.Add(entityName);
                    }
                }
            }
            numEntities = entityNameList.Count;

            return(new questStatus(Severity.Success));
        }
        public questStatus TransferResults(RunFilterRequest runFilterRequest, ResultsSet resultsSet, out FilterRunViewModel filterRunViewModel)
        {
            // Initialize
            questStatus status = null;

            filterRunViewModel = null;


            // Get number of entities.
            int numEntities = 0;

            status = GetNumEntities(resultsSet, out numEntities);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Transfer model
            filterRunViewModel         = new FilterRunViewModel();
            filterRunViewModel.NumRows = resultsSet.NumRows;
            filterRunViewModel.QueryResponse.TotalRecords = resultsSet.NumRows;
            filterRunViewModel.Id       = runFilterRequest != null ? runFilterRequest.FilterId.Id : BaseId.INVALID_ID;
            filterRunViewModel.FilterId = runFilterRequest != null ? runFilterRequest.FilterId.Id : BaseId.INVALID_ID;
            foreach (KeyValuePair <string, Column> kvp in resultsSet.ResultColumns)
            {
                ColumnHeaderViewModel columnHeaderViewModel = new ColumnHeaderViewModel();
                BufferMgr.TransferBuffer(kvp.Value, columnHeaderViewModel, true);
                columnHeaderViewModel.Name  = kvp.Value.Name;
                columnHeaderViewModel.Label = MakeColumnLabel(kvp, numEntities);
                columnHeaderViewModel.Type  = kvp.Value.DataTypeName;
                filterRunViewModel.Results.Columns.Add(columnHeaderViewModel);
            }
            foreach (dynamic _dynRow in resultsSet.Data)
            {
                DynamicRowViewModel dynamicRowViewModel = new DynamicRowViewModel();
                int cidx = 0;
                foreach (KeyValuePair <string, object> kvp in _dynRow)
                {
                    ColumnValueViewModel columnValueViewModel = new ColumnValueViewModel();
                    columnValueViewModel.Name = string.IsNullOrEmpty(filterRunViewModel.Results.Columns[cidx].Label) ?
                                                filterRunViewModel.Results.Columns[cidx].Name : filterRunViewModel.Results.Columns[cidx].Label;
                    columnValueViewModel.Label = filterRunViewModel.Results.Columns[cidx].Label;
                    columnValueViewModel.Value = kvp.Value == null ? "(null)" : kvp.Value.ToString();
                    dynamicRowViewModel.ColumnValues.Add(columnValueViewModel);
                    cidx += 1;
                }
                filterRunViewModel.Results.Items.Add(dynamicRowViewModel);
            }
            return(new questStatus(Severity.Success));
        }