public PessoaContrato(string nome, DateTime dataDeNascimento, TipoDaPessoaEnum tipoDaPessoa)
 {
     this
     .IsNotNullOrEmpty(
         nome,
         "Nome",
         PessoaDicionarioDeMensagensDeValidacao.MensagemDominioPessoaNomeInvalido
         )
     .HasMaxLen(
         nome,
         100,
         "Nome", PessoaDicionarioDeMensagensDeValidacao.MensagemDominioPessoaNomeQuantidadeMaximaDeCaracteresEh100
         )
     .IsNotNull(
         dataDeNascimento,
         "Data de Nascimento",
         PessoaDicionarioDeMensagensDeValidacao.MensagemDominioPessoaDataDeNascimentoInvalida
         )
     .IsLowerOrEqualsThan(
         dataDeNascimento,
         DateTime.Now.Date,
         "Data de Nascimento",
         PessoaDicionarioDeMensagensDeValidacao.MensagemDominioPessoaDataDeNascimentoNaoPodeSerMaiorIgualAhHoje
         )
     .IsNotNull(
         tipoDaPessoa,
         "Tipo da Pessoa",
         PessoaDicionarioDeMensagensDeValidacao.MensagemDominioPessoaTipoDaPessoaInvalida
         );
 }
示例#2
0
 public Pessoa(Guid id, string nome, DateTime dataDeNascimento, TipoDaPessoaEnum tipoDaPessoa)
 {
     Id               = id;
     Nome             = nome;
     DataDeNascimento = dataDeNascimento;
     TipoDaPessoa     = tipoDaPessoa;
 }
示例#3
0
        public Pessoa(string nome, DateTime dataDeNascimento, TipoDaPessoaEnum tipoDaPessoa) : base()
        {
            _contrato = new PessoaContrato(nome, dataDeNascimento, tipoDaPessoa);

            if (_contrato.Valid)
            {
                Nome             = nome;
                DataDeNascimento = dataDeNascimento.Date;
                TipoDaPessoa     = tipoDaPessoa;
            }
            else
            {
                Notificar(_contrato.Notifications);
            }
        }