示例#1
0
        public IRLib.Codigo.Brainiac.Retorno CadastroValido()
        {
            if (!ValidacaoAtiva())
            {
                return new IRLib.Codigo.Brainiac.Retorno()
                       {
                           TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                       }
            }
            ;

            if (this.CPF.Valor.Length == 0)
            {
                return new IRLib.Codigo.Brainiac.Retorno()
                       {
                           TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.ImplicarErro, Mensagem = "CPF Inválido."
                       }
            }
            ;

            if (this.StatusConsulta == enumStatusCPF.Confirmado)
            {
                return new IRLib.Codigo.Brainiac.Retorno()
                       {
                           TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                       }
            }
            ;


            IRLib.Codigo.Brainiac.Retorno retornoBrainiac =
                CadastroValido(this.CPF.Valor, this.Nome.Valor, this.StatusConsulta);

            switch (retornoBrainiac.TipoRetorno)
            {
            case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok:
                // Confirmado, salva no banco.
                this.StatusConsulta = enumStatusCPF.Confirmado;

                SalvarConsultaCPF(this.Control.ID.ToString());
                break;

            case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.ImplicarErro:
                // cadastro inválido!
                this.StatusConsulta = enumStatusCPF.Invalido;
                SalvarConsultaCPF(this.Control.ID.ToString());
                break;

            case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Parcial:
                break;

            default:
                throw new Exception("Falha ao consultar o CPF!");
            }

            return(retornoBrainiac);
        }
示例#2
0
        public IRLib.Codigo.Brainiac.Retorno CadastroValido
            (string cpf, string nome, string cpfConsultado, string nomeConsultado, enumStatusCPF status, ref string retNomeConsultado)
        {
            IRLib.Codigo.Brainiac.Retorno retornoBrainiac;

            switch (status)
            {
            // Se o cliente nunca foi consultado, efetua a consulta.
            case enumStatusCPF.NaoConsultado:
                // Efetua a consulta e verifica o retorno.
                retornoBrainiac = ConsultaCPF(cpf, nome, ref retNomeConsultado);
                return(retornoBrainiac);   // == enumStatusCPF.Confirmado;

            case enumStatusCPF.Invalido:
                // Se é inválido, significa que já foi consultado, portanto deverá ser verificado se o CPF é diferente do consultado.

                // Novo CPF é igual ao consultado?
                if (cpf.Equals(cpfConsultado) && nomeConsultado.Length > 0)
                {
                    retNomeConsultado = nomeConsultado;
                    // CPF não mudou, portanto basta verificar se o nome é igual ao nome consultado.
                    return
                        (new IRLib.Codigo.Brainiac.Gerenciador().IniciarNomes(nomeConsultado, nome));
                }
                else
                {
                    // Efetua a consulta novamente, pois o CPF é diferente.
                    return(ConsultaCPF(cpf, nome, ref retNomeConsultado));
                }

            case enumStatusCPF.Confirmado:
                return(new IRLib.Codigo.Brainiac.Retorno()
                {
                    TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                });

            default:
                throw new ClienteException("Não existe status associado ao cliente!");
            } // fim switch (status)
        }     // Fim método.
示例#3
0
        public IRLib.Codigo.Brainiac.Retorno CadastroValido(string cpf, string nome, enumStatusCPF status)
        {
            IRLib.Codigo.Brainiac.Retorno retornoBrainiac;

            switch (status)
            {
            // Se o cliente nunca foi consultado, efetua a consulta.
            case enumStatusCPF.NaoConsultado:
                // Efetua a consulta e verifica o retorno.
                retornoBrainiac = ConsultaCPF(cpf, nome);
                return(retornoBrainiac);   // == enumStatusCPF.Confirmado;

            case enumStatusCPF.Confirmado:
                return(new IRLib.Codigo.Brainiac.Retorno()
                {
                    TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                });

            default:
                throw new ClienteException("Não existe status associado ao cliente!");
            }// fim switch (status)
        }
示例#4
0
        private void AtribuirEstrutura(EstruturaClienteEndereco estrutura)
        {
            this.Control.ID              = estrutura.ID;
            this.CEP.Valor               = estrutura.CEP;
            this.Endereco.Valor          = estrutura.Endereco;
            this.Numero.Valor            = estrutura.Numero;
            this.Cidade.Valor            = estrutura.Cidade;
            this.Estado.Valor            = estrutura.Estado;
            this.Complemento.Valor       = estrutura.Complemento;
            this.Bairro.Valor            = estrutura.Bairro;
            this.Nome.Valor              = estrutura.Nome;
            this.CPF.Valor               = estrutura.CPF;
            this.RG.Valor                = estrutura.RG;
            this.ClienteID.Valor         = estrutura.ClienteID;
            this.EnderecoTipoID.Valor    = estrutura.EnderecoTipoID;
            this.EnderecoPrincipal.Valor = estrutura.EnderecoPrincipal;
            this.StatusConsulta          = estrutura.StatusConsulta;

            if (estrutura.EnderecoPrincipal)
            {
                this.LimparEnderecoPrincipal();
            }
        }
示例#5
0
        public IRLib.Codigo.Brainiac.Retorno CadastroEntregaValido()
        {
            if (!ValidacaoAtiva())
            {
                return new IRLib.Codigo.Brainiac.Retorno()
                       {
                           TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                       }
            }
            ;

            if (this.Pais.Valor != "Brasil")
            {
                return new IRLib.Codigo.Brainiac.Retorno()
                       {
                           TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                       }
            }
            ;

            // Método só estará disponível para utilização se o objeto estiver populado.
            if (this.Control.ID.Equals(0))
            {
                throw new ArgumentException("Cliente não encontrado para validação!");
            }

            ////Compara os nomes e atribui status;

            string retNomeConsultadoEntrega = string.Empty;

            IRLib.Codigo.Brainiac.Retorno retornoBrainiac = null;

            //Entrou com Nome de entrega Igual ao do Cliente -- Passa direto sem precisar validar novamente com a SCSP
            if (this.CPFEntrega.Valor == this.CPF.Valor &&
                Utilitario.CompararSemAcentos(this.Nome.Valor, this.NomeEntrega.Valor) == 0 &&
                this.StatusConsulta == enumStatusCPF.Confirmado)
            {
                retornoBrainiac =
                    new IRLib.Codigo.Brainiac.Gerenciador().IniciarNomes(this.Nome.Valor, this.NomeEntrega.Valor);

                switch (retornoBrainiac.TipoRetorno)
                {
                case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok:
                    this.CPFConsultadoEntrega.Valor = this.CPFEntrega.Valor;

                    this.NomeConsultadoEntrega.Valor = this.NomeEntrega.Valor;
                    base.StatusConsultaEntrega.Valor = (int)enumStatusCPF.Confirmado;
                    SalvarConsultaCPFEntrega();
                    break;

                case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.ImplicarErro:
                    base.StatusConsultaEntrega.Valor = (int)enumStatusCPF.Invalido;
                    this.CPFConsultadoEntrega.Valor  = this.CPFEntrega.Valor;
                    this.NomeConsultadoEntrega.Valor = this.NomeEntrega.Valor;
                    SalvarConsultaCPFEntrega();
                    break;
                }
                return(retornoBrainiac);
            }
            // 1.0 Verifica se os valores de entrega anteriores sao diferentes dos que estao agora, se estiver, 1.1 ou 1.2
            else if (this.CPFEntrega.Valor != this.CPFConsultadoEntrega.Valor ||
                     (Utilitario.CompararSemAcentos(this.NomeEntrega.Valor.Trim(), this.NomeConsultadoEntrega.Valor.Trim()) != 0) ||
                     this.StatusConsultaEntrega != enumStatusCPF.Confirmado)
            {
                retornoBrainiac = this.CadastroValido(this.CPFEntrega.Valor, this.NomeEntrega.Valor, this.CPFConsultadoEntrega.Valor, this.NomeConsultadoEntrega.Valor,
                                                      this.StatusConsultaEntrega == enumStatusCPF.NaoConsultado ? enumStatusCPF.NaoConsultado : enumStatusCPF.Invalido, ref retNomeConsultadoEntrega);

                switch (retornoBrainiac.TipoRetorno)
                {
                //1.1 Verifica o Cadastro forcando o Status Invalido
                case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok:
                    // Confirmado, salva no banco. sem precisar ir até a SCSP - Ja havia sido consultado.
                    this.CPFConsultadoEntrega.Valor  = this.CPFEntrega.Valor;
                    this.NomeConsultadoEntrega.Valor = retNomeConsultadoEntrega;
                    base.StatusConsultaEntrega.Valor = (int)enumStatusCPF.Confirmado;
                    SalvarConsultaCPFEntrega();
                    break;

                //1.2 Atribui o Status Invalido para mostrar no Retorno
                case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.ImplicarErro:
                    base.StatusConsultaEntrega.Valor = (int)enumStatusCPF.Invalido;
                    if (!string.IsNullOrEmpty(retNomeConsultadoEntrega))
                    {
                        this.CPFConsultadoEntrega.Valor  = this.CPFEntrega.Valor;
                        this.NomeConsultadoEntrega.Valor = retNomeConsultadoEntrega;
                    }
                    SalvarConsultaCPFEntrega();
                    break;

                case IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Parcial:
                    break;

                default:
                    throw new Exception("Falha ao consultar o CPF!");
                }
                return(retornoBrainiac);
            }
            //Utiliziou o mesmo Cliente da compra anterior nesta..
            else if (this.StatusConsultaEntrega == enumStatusCPF.Confirmado)
            {
                return new IRLib.Codigo.Brainiac.Retorno()
                       {
                           TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                       }
            }
            ;
            //Fez a pesquisa no SCPC no só que colocou nome errado, como esta digitado corretamente, só atribui o status de Confirmado
            else
            {
                this.StatusConsultaEntrega = enumStatusCPF.Confirmado;

                this.SalvarConsultaCPFEntrega();
                return(new IRLib.Codigo.Brainiac.Retorno()
                {
                    TipoRetorno = IRLib.Codigo.Brainiac.Enumeradores.EnumTipoRetorno.Ok
                });
            }
        }