Beispiel #1
0
 /// <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;
     }
 }
Beispiel #2
0
 /// <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;
     }
 }
Beispiel #3
0
 /// <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;
     }
 }
Beispiel #4
0
        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);
        }