public string Get(string IP) { string ip = HandlerIP.ConvertIPToHexString(IP); IEnumerable <IPInfo> ipInfo = _IPInfoRepository.GetIP(ip); IPInfo res = ipInfo.ElementAt(0); return(res.ToString()); }
// get IP info from given ip // done public IEnumerable <IPInfo> GetIP(string IPAsHexString) { string queryString = "{$and: [{IPFrom: {$lte:" + IPAsHexString + " }}" + ",{IPTo: {$gte: " + IPAsHexString + "}}]}"; try { var t = _context.getCollection.Find(queryString); return(_context.getCollection.Find(ip => HandlerIP.CompareHexString(ip.IPFrom.ToString(), IPAsHexString.ToString()) <= 0 && HandlerIP.CompareHexString(ip.IPTo.ToString(), IPAsHexString.ToString()) >= 0 && HandlerIP.CompareHexString(ip.IPFrom.ToString(), "00000000000000000000000000000000") != 0).ToList()); } catch (Exception ex) { // log or manage the exception throw ex; } }