//It processes all queries related to retrieval of keys based on a certain metadata value public static void MetadataKeys(ref string DBType, ref List <string> ParameterSelected, ref List <string> ParameterValue, ref List <string> Results) { if (DBType == "Int-String") { string Param = ParameterSelected.First().Substring(8); String.Format("\n Retrieving all keys in <int, string> database where " + Param + " = " + ParameterValue.First().ToString()).Wrap(); List <int> R = IntKeyDB.FindKeysbyMetadata(Param, ParameterValue.First().ToString()); if (R == null || R.Count == 0) { Results.Add("No such key found"); } else { foreach (var item in R) { Results.Add(item.ToString()); } } } if (DBType == "String-List(String)") { string Param = ParameterSelected.First().Substring(8); String.Format("\n Retrieving all keys in <string, List<string>> database where " + Param + " = " + ParameterValue.First().ToString()).Wrap(); List <string> R = StringKeyDB.FindKeysbyMetadata(Param, ParameterValue.First().ToString()); if (R == null || R.Count == 0) { Results.Add("No such key found"); } else { foreach (var item in R) { Results.Add(item.ToString()); } } } }