private List <List <string> > GetRecordsForSelection(string tableName) { var records = new List <List <string> >(); var indexInfo = CheckTableCanBeRestricted(tableName).Split('|'); if (indexInfo[0] == "WHERE") { records = SelectWithIndexWhere(indexInfo[1], tableName); } else { var keyValuePairs = MongoDB.GetEntireCollection(tableName); foreach (var keyValue in keyValuePairs) { var key = keyValue.GetElement("_id").Value.ToString().Split('#'); var value = keyValue.GetElement("value").Value.ToString().Split('#'); var tableRecord = new List <string>(); tableRecord.AddRange(key); tableRecord.AddRange(value); records.Add(tableRecord); } } // Further restrict by the rest of the conditions for that table return(ApplyWhereConditions(records, tableName)); }
private void DetermineColumnsPositions(MongoDBAcess mongoDB) { var columnInfoString = DatabaseManager.FetchTableColumns(DBName, TableName); foreach (var info in columnInfoString.Split(';')[1].Split('|')) { ColumnsInfo.Add(new ColumnInfo(info)); } var columnInfo = DatabaseManager.FetchTableColumns(DBName, TableName).Split(';')[1].Split('|'); for (int idx = 0; idx < columnInfo.Length; idx++) { ColumnsPositions.Add(new KeyValuePair <string, int>(columnInfo[idx].Split('#')[0], idx)); } var tableContent = mongoDB.GetEntireCollection(TableName); foreach (var record in tableContent) { var keySplit = record.GetElement("_id").Value.ToString().Split('#'); var valueSplit = record.GetElement("value").Value.ToString().Split('#'); RecordsSplit.Add(keySplit.Concat(valueSplit).ToList()); } }
private string SelectEntireTable() { try { var records = ""; var keyValuePairs = MongoDB.GetEntireCollection(TableName); foreach (var keyValue in keyValuePairs) { records += keyValue.GetElement("_id").Value + "#" + keyValue.GetElement("value").Value + "|"; } return(records); } catch (Exception ex) { throw ex; } }