protected internal override IEnumerable <string> ObterValidacoes()
        {
            AssociarClienteAoEndereco();
            var validacoes = new List <string>();

            if (string.IsNullOrWhiteSpace(Nome))
            {
                validacoes.Add("O Nome do Cliente precisa ser preenchido");
            }
            else if (Nome.Length > 30)
            {
                validacoes.Add("O Nome do Cliente precisa ter no máximo 30 caracteres");
            }

            if (CPF <= 0)
            {
                validacoes.Add("O CPF do Cliente precisa ser preenchido");
            }
            else if (!DVExtension.CpfEhValido(CPF))
            {
                validacoes.Add("O CPF do Cliente precisa ser válido");
            }

            if (Nascimento == default)
            {
                validacoes.Add("A Data de Nascimento do Cliente precisa ser preenchida");
            }
            else if (Nascimento > DateTime.Today)
            {
                validacoes.Add("A Data de Nascimento do Cliente precisa ser menor ou igual à data de hoje");
            }

            if (!Enderecos.Any())
            {
                validacoes.Add("O Cliente precisa ter ao menos um Endereço válido");
            }
            else
            {
                validacoes.AddRange(Enderecos.SelectMany(e => e.ObterValidacoes()));
            }

            return(validacoes);
        }
示例#2
0
        public void QuandoTestaUmCPFValido_DeveRetornarVerdadeiro()
        {
            var resultado = DVExtension.CpfEhValido(CPFValido);

            Assert.IsTrue(resultado);
        }
示例#3
0
        public void QuandoTestaUmCPFInvalido_DeveRetornarFalso()
        {
            var resultado = DVExtension.CpfEhValido(12345678901);

            Assert.IsFalse(resultado);
        }
示例#4
0
        public void QuandoTestaUmCPFComZeros_DeveRetornarFalso()
        {
            var resultado = DVExtension.CpfEhValido("00000000000");

            Assert.IsFalse(resultado);
        }
示例#5
0
        public void QuandoTestaUmCPFZerado_DeveRetornarFalso()
        {
            var resultado = DVExtension.CpfEhValido(0);

            Assert.IsFalse(resultado);
        }