/// <summary> /// Initializes a new instance of the Holder class /// </summary> /// <param name="name"></param> /// <param name="phone"></param> /// <param name="document"></param> /// <param name="birthDate"></param> public Holder(String name = null, Phone phone = null, HolderDocument document = null, String birthDate = null) { if (!String.IsNullOrEmpty(name)) { this.Name = name; } if (phone != null) { this.Phone = phone; } if (document != null) { this.Document = document; } if (!String.IsNullOrEmpty(birthDate)) { this.Birthdate = birthDate; } }
/// <summary> /// Initializes a new instance of the Holder class /// </summary> /// <param name="name"></param> /// <param name="phone"></param> /// <param name="document"></param> /// <param name="birthDate"></param> public Holder(string name = null, Phone phone = null, HolderDocument document = null, string birthDate = null) { if (!string.IsNullOrEmpty(name)) { Name = name; } if (phone != null) { Phone = phone; } if (document != null) { Document = document; } if (!string.IsNullOrEmpty(birthDate)) { Birthdate = birthDate; } }
/// <summary> /// Initializes a new instance of the Holder class /// </summary> /// <param name="name"></param> /// <param name="phone"></param> /// <param name="document"></param> /// <param name="birthDate"></param> public Holder(String name = null, Phone phone = null, HolderDocument document = null, String birthDate = null) { if (!String.IsNullOrEmpty(name)) { this.Name = name; } if (phone) { this.Phone = phone; } if (document) { this.Document = document; } if (!String.IsNullOrEmpty(birthDate)) { this.Birthdate = birthDate; } }
public bool IsValid() { HolderDocument.ClearStrings(); if (Brand.IsNullOrWhiteSpace()) { throw new ArgumentException("Bandeira do cartão de crédito não informada"); } if (ExpirationMonth.IsNullOrWhiteSpace()) { throw new ArgumentException("Mês de expiração do cartão de crédito não informado"); } int monthAsInt; int.TryParse(ExpirationMonth, out monthAsInt); if (monthAsInt < 1 || monthAsInt > 12) { throw new ArgumentException("Mês de expiração do cartão de crédito inválido"); } if (ExpirationYear.IsNullOrWhiteSpace()) { throw new ArgumentException("Ano de expiração do cartão de crédito não informado"); } int yearAsInt; int.TryParse(ExpirationYear, out yearAsInt); if (yearAsInt < DateTime.Now.Year) { throw new ArgumentException("Ano de expiração do cartão de crédito inválido"); } if (monthAsInt < DateTime.Now.Month && yearAsInt == DateTime.Now.Year) { throw new ArgumentException("Mês de expiração do cartão de crédito inválido"); } if (HolderName.IsNullOrWhiteSpace()) { throw new ArgumentException("Nome do titular do cartão de crédito não informado"); } if (HolderDocument.IsNullOrWhiteSpace()) { throw new ArgumentException("Documento do titular do cartão de crédito não informado"); } if (!HolderDocument.IsValidCPF() && !HolderDocument.IsValidCNPJ()) { throw new ArgumentException("Documento do titular do cartão de crédito inválido"); } if (Bin.IsNullOrWhiteSpace()) { throw new ArgumentException("Bin do cartão de crédito não informado"); } if (LastDigits.IsNullOrWhiteSpace()) { throw new ArgumentException("Últimos 4 dígitos do cartão de crédito não informados"); } if (Signature.IsNullOrWhiteSpace()) { throw new ArgumentException("Assinatura do cartão de crédito não informada"); } if (Timestamp.IsNull() || Timestamp == DateTime.MinValue) { throw new ArgumentException("Timestamp do cartão de crédito não informados"); } if (Token.IsNullOrWhiteSpace()) { throw new ArgumentException("Token do cartão de crédito não informado"); } return(true); }