private void VerificarEnderecos(Empreendimento empreendimento)
        {
            if (empreendimento.Enderecos == null || empreendimento.Enderecos.Count <= 0)
            {
                Validacao.Add(endMsg.EnderecoObrigatorio(objPaiNome, lstEnderecosNome, 0, "localização"));
            }
            else
            {
                if (empreendimento.Enderecos.Count > 0)
                {
                    VerificarDadosEndereco(empreendimento.Enderecos[0], objPaiNome, lstEnderecosNome, 0, "localização", true);
                }

                //remove o segundo endereço quando não tem correspondência
                if (empreendimento.Enderecos.Count > 1 && empreendimento.TemCorrespondencia <= 0)
                {
                    if (String.IsNullOrWhiteSpace(empreendimento.Enderecos[0].Cep))
                    {
                        Validacao.Add(endMsg.EnderecoCepObrigatorio(objPaiNome, lstEnderecosNome, 0, "localização"));
                    }

                    if (!String.IsNullOrWhiteSpace(empreendimento.Enderecos[0].Cep) && !(new Regex("^[0-9]{2}\\.[0-9]{3}-[0-9]{3}$").IsMatch(empreendimento.Enderecos[0].Cep)))
                    {
                        Validacao.Add(endMsg.EnderecoCepInvalido(objPaiNome, lstEnderecosNome, 0, "localização"));
                    }

                    empreendimento.Enderecos.RemoveAt(1);
                }

                if (empreendimento.Enderecos.Count >= 2 && empreendimento.TemCorrespondencia > 0)
                {
                    VerificarDadosEndereco(empreendimento.Enderecos[1], objPaiNome, lstEnderecosNome, 1, "correspondência");
                }
            }
        }
Ejemplo n.º 2
0
        private void VerificarDadosEndereco(Endereco endereco, string objPaiNome, string lstEndNome, int index, string nomeEndereco, bool localizacao = false)
        {
            if (String.IsNullOrWhiteSpace(endereco.Cep))
            {
                Validacao.Add(endMsg.EnderecoCepObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (!String.IsNullOrWhiteSpace(endereco.Cep) && !(new Regex("^[0-9]{2}\\.[0-9]{3}-[0-9]{3}$").IsMatch(endereco.Cep)))
            {
                Validacao.Add(endMsg.EnderecoCepInvalido(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (localizacao && endereco.ZonaLocalizacaoId.GetValueOrDefault() <= 0)
            {
                Validacao.Add(endMsg.EnderecoZonaLocalizacaoObrigatoria(objPaiNome, lstEnderecosNome, 0));
            }

            if (String.IsNullOrWhiteSpace(endereco.Logradouro))
            {
                Validacao.Add(endMsg.EnderecoLogradouroObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (String.IsNullOrWhiteSpace(endereco.Bairro))
            {
                Validacao.Add(endMsg.EnderecoBairroObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (localizacao && String.IsNullOrWhiteSpace(endereco.DistritoLocalizacao))
            {
                Validacao.Add(endMsg.EnderecoDistritoObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (endereco.EstadoId <= 0)
            {
                Validacao.Add(endMsg.EnderecoEstadoObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }
            else if (!_da.ExisteEstado(endereco.EstadoId))
            {
                Validacao.Add(endMsg.EnderecoEstadoInvalido(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (endereco.MunicipioId <= 0)
            {
                Validacao.Add(endMsg.EnderecoMunicipioObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }
            else if (!_da.ExisteMunicipio(endereco.MunicipioId))
            {
                Validacao.Add(endMsg.EnderecoMunicipioInvalido(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (endereco.MunicipioId > 0 && endereco.EstadoId > 0 && _da.ObterMunicipio(endereco.MunicipioId).Estado.Id != endereco.EstadoId)
            {
                Validacao.Add(endMsg.EnderecoMunicipioOutroEstado(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }

            if (localizacao && String.IsNullOrWhiteSpace(endereco.Complemento))
            {
                Validacao.Add(endMsg.EnderecoComplementoObrigatorio(objPaiNome, lstEnderecosNome, index, nomeEndereco));
            }
        }