public bool geturl(string searchText, string stype) { if (metadataRecords == null) { return(false); } string selVal = searchText; List <datacontract.metadata> metaObjs = (from n in metadataRecords where n.title == selVal select n).ToList(); if (metaObjs.Count > 0 && metaObjs[0].links.Count > 0) { datacontract.metadata metaObj = metaObjs[0]; List <List <string> > linkList = metaObj.links.Select(c => c.Split('|').ToList()).ToList(); for (int c = 1; c < linkList.Count; c++) { List <string> link = linkList[c]; for (int i = 1; i < link.Count; i++) { if (link[i].ToUpper().Contains(stype) && link[i - 1].ToLower().Contains("http")) { return(true); } } } return(false); } else { return(false); } }
public datacontract.metadataResponse search(string q, int start = 1, int to = 20, string themekey = "", string orgName = "", string dataType = "", string siteId = "", string inspiretheme = "", string inspireannex = "", string inspireServiceType = "") { qryValues.Add("fast", "index"); qryValues.Add("sortBy", "changeDate"); if (q != "" && q != null) { qryValues.Add("any", "*" + q + "*"); } qryValues.Add("from", start.ToString()); qryValues.Add("to", to.ToString()); if (themekey != "") { qryValues.Add("themekey", ("\"" + themekey + "\"").Replace("&", "%26")); } if (orgName != "") { qryValues.Add("orgName", "\"" + orgName + "\""); } if (dataType != "") { qryValues.Add("type", dataType); } if (siteId != "") { qryValues.Add("siteId", siteId); } if (inspiretheme != "") { qryValues.Add("inspiretheme", inspiretheme); } if (inspireannex != "") { qryValues.Add("inspireannex", inspireannex); } if (inspireServiceType != "") { qryValues.Add("inspireServiceType", inspireServiceType); } client.QueryString = qryValues; Uri url = new Uri(geoNetworkUrl + "/q"); string xmlDoc = client.DownloadString(url); XElement element = XElement.Parse(xmlDoc); int maxCount; int from; int xto; int.TryParse(element.Element("summary").Attribute("count").Value, out maxCount); int.TryParse(element.Attribute("from").Value, out from); int.TryParse(element.Attribute("to").Value, out xto); datacontract.metadataResponse metaResp = new datacontract.metadataResponse() { from = from, to = xto, maxCount = maxCount }; List <datacontract.metadata> metaList = new List <datacontract.metadata>(); IEnumerable <XElement> sources = element.Elements("metadata"); foreach (var item in sources) { datacontract.metadata meta = new datacontract.metadata(); XNamespace ns = "http://www.fao.org/geonetwork"; var xsource = item.Element(ns + "info"); var xtitle = item.Element("title"); var xabstract = item.Element("abstract"); if (xsource == null || xtitle == null) { continue; } meta.sourceID = xsource.Element("uuid").Value; meta.title = xtitle.Value; if (xabstract != null) { meta.description = xabstract.Value; } else { meta.description = ""; } meta.links = new List <string>(); foreach (var elem in item.Elements("link")) { meta.links.Add(elem.Value); } metaList.Add(meta); } metaResp.metadataRecords = metaList; qryValues.Clear(); client.QueryString.Clear(); return(metaResp); }
public datacontract.metadataResponse search(string q, int start = 1, int to = 20, string themekey="", string orgName="", string dataType="", string siteId="", string inspiretheme="", string inspireannex="", string inspireServiceType="") { qryValues.Add("fast", "index"); qryValues.Add("sortBy", "changeDate"); if (q != "" && q != null) qryValues.Add("any", "*" + q + "*"); qryValues.Add("from", start.ToString()); qryValues.Add("to", to.ToString()); if (themekey != "") qryValues.Add("themekey", ("\"" + themekey + "\"").Replace("&", "%26")); if (orgName != "") qryValues.Add("orgName", "\"" + orgName + "\"" ); if (dataType != "") qryValues.Add("type", dataType); if (siteId != "") qryValues.Add("siteId", siteId); if (inspiretheme != "") qryValues.Add("inspiretheme", inspiretheme); if (inspireannex != "") qryValues.Add("inspireannex", inspireannex); if (inspireServiceType != "") qryValues.Add("inspireServiceType", inspireServiceType); client.QueryString = qryValues; Uri url = new Uri(geoNetworkUrl + "/q"); string xmlDoc = client.DownloadString(url); XElement element = XElement.Parse(xmlDoc); int maxCount; int from; int xto ; int.TryParse( element.Element("summary").Attribute("count").Value , out maxCount); int.TryParse(element.Attribute("from").Value, out from); int.TryParse(element.Attribute("to").Value, out xto); datacontract.metadataResponse metaResp = new datacontract.metadataResponse() {from = from, to=xto, maxCount=maxCount }; List<datacontract.metadata> metaList = new List<datacontract.metadata>(); IEnumerable<XElement> sources = element.Elements("metadata"); foreach (var item in sources) { datacontract.metadata meta = new datacontract.metadata(); XNamespace ns = "http://www.fao.org/geonetwork"; var xsource = item.Element(ns + "info"); var xtitle = item.Element("title"); var xabstract = item.Element("abstract"); if (xsource == null || xtitle == null) continue; meta.sourceID = xsource.Element("uuid").Value; meta.title = xtitle.Value; if (xabstract != null) meta.description = xabstract.Value; else meta.description = ""; meta.links = new List<string>(); foreach (var elem in item.Elements("link")) { meta.links.Add(elem.Value); } metaList.Add(meta); } metaResp.metadataRecords = metaList ; qryValues.Clear(); client.QueryString.Clear(); return metaResp; }