Esempio n. 1
0
        //#################################################################################################
        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);
        }
Esempio n. 2
0
        //#################################################################################################
        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));
        }