Example #1
0
        public void ValidateIdCard_RealIdCard_True()
        {
            var card = "79927398713";

            var luhn   = new IdCardValidator();
            var result = luhn.ValidateIdCard(card);

            Assert.IsTrue(result);
        }
Example #2
0
        public void ValidateCreditCard_InvalidCreditCard_False()
        {
            var card = "8360-7135-3409-0648";

            var luhn   = new IdCardValidator();
            var result = luhn.ValidateCreditCard(card);

            Assert.IsTrue(!result);
        }
Example #3
0
        public void ValidateIdCard_InvalidIdCardDominicanRepublic_True()
        {
            var card = "79927398712";

            var luhn   = new IdCardValidator();
            var result = luhn.ValidateIdCard(card, "DO");

            Assert.IsTrue(!result);
        }
Example #4
0
        public void ValidateCreditCard_RealCreditCard_True()
        {
            var card = "4895-5862-5767-7086";

            var luhn   = new IdCardValidator();
            var result = luhn.ValidateCreditCard(card);

            Assert.IsTrue(result);
        }
Example #5
0
        public void ValidateIdCard_FalseIdCard_False()
        {
            var card = "79927398710";

            var luhn   = new IdCardValidator();
            var result = luhn.ValidateIdCard(card);

            Assert.IsTrue(!result);
        }
        [TestCase("A111111111", false)] // 格式錯誤
        public void ValidateHomeless_ReturnValue_AreEqual(string id, bool expected)
        {
            string column = "測試欄位";

            IdCardValidator validator = new IdCardValidator(column, id, IdCardTypes.Homeless);
            bool            actual    = validator.Validate();

            Assert.AreEqual(actual, expected);
        }
        public void ErrorMessage_Value_AreEqual()
        {
            string column   = "測試欄位";
            string format   = "{0}IdentityNumber";
            string expected = string.Format(format, column);

            IdCardValidator validator = new IdCardValidator(column, "123", IdCardTypes.All, format);

            validator.Validate();

            Assert.AreEqual(validator.ErrorMessage, expected);
        }
        public ValidateResult Validate(BaseCaseViewModel target)
        {
            var result = new ValidateResult();

            // 验证抵押物
            if (target.Collateral == null || target.Collateral.All(x => x.CollateralType != "-FacilityCategary-MainFacility"))
            {
                result.Add(new ErrorMessage()
                {
                    Key     = "Collateral",
                    Message = "房产信息 - 抵押物 不能为空"
                });
            }

            if (target.Collateral != null && target.Collateral.Any())
            {
                target.Collateral.ForEach(p => result.Add(CollateraValidator.Validate(p).GetErrors()));
            }

            //验证配偶唯一性
            if (target.RelationPerson.IsNotNull())
            {
                if (target.RelationPerson.Count(p => p.RelationType.Equals(DictionaryType.PersonType.JieKuanRenPeiOu)) > 1)
                {
                    result.Add(new ErrorMessage("RelationPerson", "借款人配偶只能添加一位"));
                }
            }

            // 借款人
            //if (target.BorrowerPerson == null)
            //{
            //    result.Add(new ErrorMessage()
            //    {
            //        Key = "RelationPerson",
            //        Message = "借款人 不能为空"
            //    });
            //}

            //借款人证件号
            //if (target.BorrowerPerson != null && target.BorrowerPerson.IdentificationNumber != null)
            //{
            //    if (target.BorrowerPerson.IdentificationType == DictionaryType.DocType.IdCard)
            //    {
            //        var idCardValidator = new IdCardValidator().Validate(target.BorrowerPerson.IdentificationNumber);
            //        if (idCardValidator.IsNotValid())
            //        {
            //            result.Add(new ErrorMessage("IdentificationNumber", target.BorrowerPerson.Name + " 身份证号码不正确"));
            //        }
            //    }
            //}

            //关系人信息验证身份证号码
            if (target.RelationPerson != null)
            {
                foreach (var item in target.RelationPerson)
                {
                    if (item.IdentificationType == "-DocType-IDCard")
                    {
                        var idCardValidateResult = new IdCardValidator().Validate(item.IdentificationNumber);
                        if (idCardValidateResult.IsNotValid())
                        {
                            result.Add(new ErrorMessage("IdentificationNumber", item.Name + " 身份证号码不正确"));
                        }
                    }
                }
            }
            //单身需要上传婚姻证明
            //Extensions.IfNotNull(target.BorrowerPerson, p =>
            //{
            //    if (p.MaritalStatus != null && p.MaritalStatus != "-MaritalStatus-Unmarried")
            //    {
            //        if (p.MarryFile == null)
            //        {
            //            result.Add(new ErrorMessage("MaritalStatus", p.Name + "需要上传婚姻证明"));
            //        }
            //    }
            //});

            //验证年利率
            if (target.AnnualRate == null)
            {
                result.Add(new ErrorMessage("AnnualRate", "年化利率不能为空"));
            }

            AjaxMinExtensions.IfNotNull(target.AnnualRate, p =>
            {
                if (p < 2 || p > 100)
                {
                    result.Add(new ErrorMessage("AnnualRate", "年化利率必须在2-100之间"));
                }
            });

            return(result);
        }