public IHttpActionResult Get(string id)
        {
            var bic = new data_validation.net.Web.Controllers.Helpers.RemoveSpecialCharacters();
            var cleanBic = bic.RemoveSpecialCharactersBasic(id);

            var userIp = Request.GetOwinContext().Request.RemoteIpAddress;
            var userHost = Request.GetOwinContext().Request.Host.Value.ToString();

            var isFraud = new IsFraudController();
            var isFraudUser = isFraud.Check(User.Identity.Name, userIp, userHost);

            if (isFraudUser)
            {
                var errorMessage = new List<BicInfoModel>();
                errorMessage.Add(new BicInfoModel { IsValid = "Fraud Triger On!" });
                return Ok(errorMessage);
            }

            var helper = new data_validation.net.Web.Controllers.Helpers.CreditsDeduct();
            var hasCredits = helper.IsValid(User.Identity.Name, 6, cleanBic, "singleAPI", "swift");

            if (!hasCredits)
            {
                var errorMessage = new List<BicInfoModel>();
                errorMessage.Add(new BicInfoModel { IsValid = "No Credits Left" });
                return Ok(errorMessage);
            }

            using (var context = new ApplicationDbContext())
            {
                var result = context.Database.SqlQuery<BicInfoModel>("GetFullDetailsSwift2 @SwiftCode", new SqlParameter("SwiftCode", cleanBic)).ToList();

                return Ok(result);
            }
        }
        public IHttpActionResult Get(string id)
        {
            var cleanEmail = new data_validation.net.Web.Controllers.Helpers.RemoveSpecialCharacters();
            var emailAddress = cleanEmail.RemoveSpecialCharactersEmail(id);

            var userIp = Request.GetOwinContext().Request.RemoteIpAddress;
            var userHost = Request.GetOwinContext().Request.Host.Value.ToString();

            var isFraud = new IsFraudController();
            var isFraudUser = isFraud.Check(User.Identity.Name, userIp, userHost);

            if (isFraudUser)
            {
                var errorMessage = new List<EmailValidationViewModel>();
                errorMessage.Add(new EmailValidationViewModel { IsValid = "Fraud Triger On!" });
                return Ok(errorMessage);
            }

            var helper = new data_validation.net.Web.Controllers.Helpers.CreditsDeduct();
            var hasCredits = helper.IsValid(User.Identity.Name, 6, emailAddress, "singleAPI", "email");

            if (!hasCredits)
            {
                var errorMessage = new List<EmailValidationViewModel>();
                errorMessage.Add(new EmailValidationViewModel { IsValid = "No Credits Left" });
                return Ok(errorMessage);
            }

            var email = new data_validation.net.Web.Controllers.Helpers.Email();
            var emailResult = email.Validate(emailAddress);

            return Ok(emailResult);
        }
        public IHttpActionResult Get(string id)
        {
            var cleanAddress = new data_validation.net.Web.Controllers.Helpers.RemoveSpecialCharacters();
            var address = cleanAddress.RemoveSpecialCharactersAddress(id);

            var userIp = Request.GetOwinContext().Request.RemoteIpAddress;
            var userHost = Request.GetOwinContext().Request.Host.Value.ToString();

            var isFraud = new IsFraudController();
            var isFraudUser = isFraud.Check(User.Identity.Name, userIp, userHost);

            if (isFraudUser)
            {
                var errorMessage = new List<AddressModel>();
                errorMessage.Add(new AddressModel { IsValid = "Fraud Triger On!" });
                return Ok(errorMessage);
            }

            var helper = new data_validation.net.Web.Controllers.Helpers.CreditsDeduct();
            var res = helper.IsValid(User.Identity.Name, 6, address, "singleAPI", "address");

            if (res == false)
            {
                var errorMessage = new List<AddressModel>();
                errorMessage.Add(new AddressModel { IsValid = "No Credits Left" });
                return Ok(errorMessage);
            }

            var dataCleansingLogic = new data_validation.net.Web.Controllers.Helpers.DataCleansingLogich();
            var validAddress = dataCleansingLogic.Cleansing(address);

            return Ok(validAddress);
        }