public IHttpActionResult Get(string id)
        {
            var card = new data_validation.net.Web.Controllers.Helpers.RemoveSpecialCharacters();
            var cleanNumber = card.RemoveSpecialCharactersCard(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<CardValidationViewModel>();
                errorMessage.Add(new CardValidationViewModel { 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, cleanNumber, "singleAPI", "card");

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

            var cardType = new CardType();
            var result = cardType.CardLogic(cleanNumber);

            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 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 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);
        }
        public IHttpActionResult Get(string id)
        {
            var iban = new data_validation.net.Web.Controllers.Helpers.RemoveSpecialCharacters();
            var cleanIban = iban.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<iBanBicModel>();
                errorMessage.Add(new iBanBicModel { 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, cleanIban, "singleAPI", "iban");

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

            var resT = new BankValidationController();

            var temp = BankValidationController.Iban.CheckIban(id, true);

            var error = new List<iBanBicModel>();

            if (!temp.IsValid)
            {
                error.Add(new iBanBicModel { IsValid = temp.Message, BankCode = cleanIban });

                return Ok(error);
            }

            var result = resT.BicCountry(cleanIban.ToUpper());

            return Ok(result);
        }
        public IHttpActionResult Get(string id)
        {
            var phone = new data_validation.net.Web.Controllers.Helpers.RemoveSpecialCharacters();
            var cleanPhone = phone.RemoveCharactersTelephone(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<PhoneValidationViewModel>();
                errorMessage.Add(new PhoneValidationViewModel { 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, cleanPhone, "singleAPI", "telephone");

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

            var result = new List<PhoneValidationViewModel>();

            if (cleanPhone.Length != 11 && cleanPhone.Length != 10)
            {
                result.Add(new PhoneValidationViewModel
                {
                    IsValid = "Phone is invalid",
                    Number = cleanPhone
                });

                return Ok(result);
            }

            using (var context = new ApplicationDbContext())
            {
                var tmpData = context.Database.SqlQuery<GetPhoneArea_Result>("GetPhoneArea2 @code", new SqlParameter("code", cleanPhone)).First();

                if (tmpData.IsValid == "Valid")
                {
                    result.Add(new PhoneValidationViewModel
                    {
                        Area = tmpData.AreaCovered,
                        Number = cleanPhone,
                        IsValid = tmpData.IsValid
                    });

                    return Ok(result);
                }
            }
            result.Add(new PhoneValidationViewModel
            {
                Number = cleanPhone,
                IsValid = "Phone seems invalid"
            });

            return Ok(result);
        }