Example #1
0
        private DataSet QueryResultsParseDataSet(string fields, NamedList namedList, string highlightFields, out long recordCount)
        {
            ObjectDeserializeTable <T> objectDeserializeTable = new ObjectDeserializeTable <T>(this._TableName, fields);
            ISolrResponseParser <NamedList, QueryResults <DataRow> > solrResponseParser = new BinaryQueryResultsParser <DataRow>(objectDeserializeTable);

            if (!string.IsNullOrWhiteSpace(highlightFields))
            {
                BinaryHighlightingParser binaryHighlightingParser = new BinaryHighlightingParser();
                IDictionary <string, IDictionary <string, IList <string> > > highlight = binaryHighlightingParser.Parse(namedList);
                objectDeserializeTable.Highlight = highlight;
            }
            QueryResults <DataRow> queryResults = solrResponseParser.Parse(namedList);

            recordCount = queryResults.NumFound;
            DataSet   dataSet   = new DataSet();
            DataTable dataTable = objectDeserializeTable.CreateDataTable();

            foreach (DataRow current in queryResults)
            {
                dataTable.Rows.Add(current.ItemArray);
            }
            dataSet.Tables.Add(dataTable);
            DataTable dataTable2 = new DataTable();

            dataTable2.TableName = "RecordCount";
            dataTable2.Columns.Add("RecordCount", typeof(long));
            DataRow dataRow = dataTable2.NewRow();

            dataRow["RecordCount"] = recordCount;
            dataTable2.Rows.Add(dataRow);
            dataSet.Tables.Add(dataTable2);
            return(dataSet);
        }
Example #2
0
        public static DataSet ParserResultsDataSet <T>(this NamedList namedList, string fields, out long recordCount, string tableName = "") where T : class, new()
        {
            ObjectDeserializeTable <T> objectDeserializeTable = new ObjectDeserializeTable <T>(tableName, fields);
            ISolrResponseParser <NamedList, QueryResults <DataRow> > solrResponseParser = new BinaryQueryResultsParser <DataRow>(objectDeserializeTable);
            BinaryHighlightingParser binaryHighlightingParser = new BinaryHighlightingParser();
            IDictionary <string, IDictionary <string, IList <string> > > highlight = binaryHighlightingParser.Parse(namedList);

            objectDeserializeTable.Highlight = highlight;
            QueryResults <DataRow> queryResults = solrResponseParser.Parse(namedList);

            recordCount = queryResults.NumFound;
            DataSet   dataSet   = new DataSet();
            DataTable dataTable = objectDeserializeTable.CreateDataTable();

            foreach (DataRow current in queryResults)
            {
                dataTable.Rows.Add(current.ItemArray);
            }
            dataSet.Tables.Add(dataTable);
            DataTable dataTable2 = new DataTable();

            dataTable2.TableName = "RecordCount";
            dataTable2.Columns.Add("RecordCount", typeof(long));
            DataRow dataRow = dataTable2.NewRow();

            dataRow["RecordCount"] = recordCount;
            dataTable2.Rows.Add(dataRow);
            dataSet.Tables.Add(dataTable2);
            return(dataSet);
        }