Ejemplo n.º 1
0
        public ZipIpVerifyResult VerifyZipAndIpAddress(string ip, string zip, string email)
        {
            if (_db.CbrZipVerifieds.Any(z => z.EmailAddress == email && z.ValidZip == zip && z.ValidIpAddress == ip))
            {
                //should default to true
                return(new ZipIpVerifyResult());
            }


            IpInfo        = _xverifyRepository.GetIpVerification(ip);
            ZipLookupInfo = _xverifyRepository.GetZipcodeLookup(zip);

            var _zipIpVerifyResult = new ZipIpVerifyResult();

            if (IpInfo.IsValid && !IpInfo.IsIrreputable && ZipLookupInfo.IsValid)
            {
                if (IpInfo.ipdata.region == ZipLookupInfo.zipdata.state)
                {
                    _db.CbrZipVerifieds.Add(new CbrZipVerified()
                    {
                        EmailAddress   = email,
                        ValidIpAddress = ip,
                        ValidZip       = zip
                    });
                    _db.SaveChanges();
                    //return new ZipIpVerifyResult() { IsValid = true };
                    _zipIpVerifyResult.IsValid = true;
                }
                else
                {
                    _zipIpVerifyResult.NoMatch = true;
                }
            }

            _zipIpVerifyResult.IpIsIrReputable = IpInfo.IsIrreputable;
            _zipIpVerifyResult.ZipCodeInvalid  = !ZipLookupInfo.IsValid;
            _zipIpVerifyResult.IpInvalid       = !IpInfo.IsValid;

            if (!_zipIpVerifyResult.IsValid)
            {
                LogInvalidEntry(ip, zip, email, _zipIpVerifyResult);
            }

            return(_zipIpVerifyResult);
        }
Ejemplo n.º 2
0
        //private ZipIpVerifyResult Validate(string ip, string street, string zip, string email)
        //{

        //    IpInfo = _xverifyRepository.GetIpVerification(ip);
        //    AddressInfo = _xverifyRepository.GetAddressVerification(street, zip);

        //    if (IpInfo.IsValid && AddressInfo.IsValid)
        //    {
        //        if (IpInfo.ipdata.region == AddressInfo.address.state)
        //        {
        //            _db.CbrZipVerifieds.Add(new CbrZipVerified()
        //            {
        //                EmailAddress = email,
        //                ValidIpAddress = ip,
        //                ValidZip = zip
        //            });
        //            _db.SaveChanges();
        //            return new ZipIpVerifyResult() { IsValid = true };
        //        }

        //        return new ZipIpVerifyResult() { IsValid = false, NoMatch = true };
        //    }

        //    _zipIpVerifyResult = new ZipIpVerifyResult() { IsValid = false, Message = "" };

        //    if (!AddressInfo.IsValid)
        //    {
        //        if (AddressInfo.address.message.Contains("Zip Code"))
        //        {
        //            _zipIpVerifyResult.ZipCodeInvalid = true;
        //            _zipIpVerifyResult.Message += AddressInfo.address.message;
        //        }
        //        else
        //        {
        //            _zipIpVerifyResult.AddressInvalid = true;
        //            _zipIpVerifyResult.Message += AddressInfo.address.message;
        //        }
        //    }

        //    if (!AddressInfo.IsValid)
        //    {
        //        _zipIpVerifyResult.IpInvalid = true;
        //        _zipIpVerifyResult.Message += IpInfo.ipdata.message;
        //    }

        //    return _zipIpVerifyResult;
        //}

        public ZipcodeLookupResponse GetZipcodeLookup(string zip)
        {
            ZipcodeLookupResponse result = _xverifyRepository.GetZipcodeLookup(zip);

            return(result);
        }