//################################################################################################# private static Classes.FList GetFiltersFromXml(XmlDocument doc) { var flist = new Classes.FList(); XmlNode filters = doc.SelectSingleNode("filters"); foreach (XmlNode node in filters.SelectNodes("filter")) { if (node.SelectSingleNode("name") == null) { continue; } var filter = new Classes.Filter(); filter.name = node.SelectSingleNode("name").InnerText; if (node.SelectSingleNode("value") != null) { filter.value = node.SelectSingleNode("value").InnerText; } flist.Add(filter); } return(flist); }
//################################################################################################# public void PassQuery(List <GEOMiner.Classes.Filter> inputs, Classes.EUtilities u) { LogController.Begin(); StartZeit = DateTime.Now; string query = "&term="; List <String> existFilters = new List <String>(); foreach (GEOMiner.Classes.Filter input in inputs) { if (existFilters.Contains(input.name)) { continue; } if (query != "&term=") { query = query + "+AND+"; } Classes.Filter tmp = input; foreach (GEOMiner.Classes.Filter i in inputs) { if (i.id != input.id && i.name == input.name) { tmp.value = tmp.value + "," + i.value; } } query = query + tmp.GetValueForQuery(Program.indexModel.database.KeyName); existFilters.Add(input.name); } query = query.Trim().Replace(' ', '+'); query = FormulateRequest(query, u.EType, Program.indexModel.database.KeyName); try { (this.WebEnvironment, this.IDs) = u.SendRequest(query); } catch (Exception ex) { Controllers.LogController.LogError($"Query failed with {query} for utility '{u.EType}' , ERROR: {ex.ToString()} "); }; LogController.End(String.Format("verstrichene Zeit: {0}", DateTime.Now - StartZeit)); }