예제 #1
0
        public void IsValidNiss_GoodFormat_ReturnTrue()
        {
            var niss = "456.45.56-456-44";

            var isNissValid = IdentityCard.IsValidNiss(niss);

            Assert.True(isNissValid);
        }
예제 #2
0
        public void IsValidNiss_FirstNumberBadFormat_ReturnFalse()
        {
            var niss = "5565.45.56-456-44";

            var isNissValid = IdentityCard.IsValidNiss(niss);

            Assert.False(isNissValid);
        }
예제 #3
0
        private void ValidateIdCard(IdentityCard idCard)
        {
            if (!idCard.IsDateValid())
            {
                throw new CustomBadRequestException(ExceptionMessage.IdCardInvalidDate);
            }

            if (DateTime.Compare(idCard.ExpirationDate, DateTime.Today) < 0)
            {
                throw new CustomBadRequestException(ExceptionMessage.IdCardExpired);
            }

            if (!IdentityCard.IsValidNiss(idCard.NationalRegisterNumber))
            {
                throw new CustomBadRequestException(ExceptionMessage.IdCardInvalidNiss);
            }

            if (idCard.CalculateAge(DateTime.Today) < MinimumAge)
            {
                throw new CustomBadRequestException(ExceptionMessage.MemberInvalidAge);
            }
        }