public string Get(string IP)
        {
            string ip = HandlerIP.ConvertIPToHexString(IP);
            IEnumerable <IPInfo> ipInfo = _IPInfoRepository.GetIP(ip);

            IPInfo res = ipInfo.ElementAt(0);

            return(res.ToString());
        }
Example #2
0
        // 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;
            }
        }