public string CallNumber() { if (Number.All(char.IsDigit)) { return($"Calling... {Number}"); } return("Invalid number!"); }
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"); } }