Exemplo n.º 1
0
        public string CallNumber()
        {
            if (Number.All(char.IsDigit))
            {
                return($"Calling... {Number}");
            }

            return("Invalid number!");
        }
Exemplo n.º 2
0
        public void Validate()
        {
            if (!Number.All(c => char.IsNumber(c)))
            {
                throw new CardValidationException("Card number is not numeric");
            }

            if (!ExpiryYear.All(c => char.IsNumber(c)))
            {
                throw new CardValidationException("Expiry year is not numeric");
            }

            if (!ExpiryMonth.All(c => char.IsNumber(c)))
            {
                throw new CardValidationException("Expiry month is not numeric");
            }

            int month = int.Parse(ExpiryMonth);

            if (month < 1 || month > 12)
            {
                throw new CardValidationException("Expiry Month invalid");
            }

            int year = int.Parse(ExpiryYear);

            year += year > 89 ? 1900 : 2000;

            month++;
            if (month > 12)
            {
                month = 1;
                year++;
            }

            var cardExpiryDate = new DateTime(year, month, 1);

            if (timeService.Now >= cardExpiryDate)
            {
                throw new CardValidationException("Card has expired");
            }
        }