public IEnumerable Validate()

in src/Relecloud.Web.Models/TicketManagement/Payment/PaymentDetails.cs [49:68]


        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (!string.IsNullOrEmpty(ExpirationMonthYear) && ExpirationMonthYear.Length == 4)
            {
                var monthSplitString = ExpirationMonthYear.Substring(0, 2);
                var yearSplitString = ExpirationMonthYear.Substring(2, 2);
                if (int.TryParse(monthSplitString, out int cardExpirationMonth) && int.TryParse(yearSplitString, out int cardExpirationYear))
                {
                    if ((DateTimeOffset.UtcNow.Year > cardExpirationYear + 2000)
                        || (DateTimeOffset.UtcNow.Year == cardExpirationYear + 2000 && DateTime.UtcNow.Month > cardExpirationMonth))
                    {
                        yield return new ValidationResult("Please use a card that has not expired", new[] { nameof(ExpirationMonthYear) });
                    }
                    if (cardExpirationMonth > 12)
                    {
                        yield return new ValidationResult("The expiration date must be MMYY format", new[] { nameof(ExpirationMonthYear) });
                    }
                }
            }
        }