Ejemplo n.º 1
0
        public string Set(string key, object value, string line)
        {
            key = key.ToUpper();

            try
            {
                switch (key)
                {
                case "CPF":
                    if (value.ToString().IsCpf())
                    {
                        this.Documento = value?.ToString();
                    }
                    else
                    {
                        this.Erro = "CPF inválido. ";
                        line     += ";CPF inválido";
                    }
                    break;

                case "NOME":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        Nome = value?.ToString();
                    }
                    else
                    {
                        this.Erro = "NOME inválido. ";
                        line     += ";NOME inválido";
                    }
                    break;

                case "NASCIMENTO":
                case "DT_NASCIMENTO":
                case "DT_NSC":
                case "DT NSC":
                    DateTime dateCheck;
                    if (DateTime.TryParseExact(value.ToString(), "dd/MM/yyyy", CultureInfo.CurrentCulture,
                                               DateTimeStyles.None, out dateCheck))
                    {
                        DataNascimento = dateCheck;
                    }
                    else
                    {
                        this.Erro += "Data de Nascimento inválida. ";
                        line      += ";Data de Nascimento inválida";
                    }
                    break;

                case "SEXO":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        var sexo = Convert.ToChar(value.ToString());
                        if (IndicadorSexo.Exist(sexo))
                        {
                            Sexo = sexo;
                        }
                        else
                        {
                            this.Erro += "Sexo inválido. ";
                            line      += ";Sexo inválido. ";
                        }
                    }
                    else
                    {
                        Sexo = IndicadorSexo.M;
                    }

                    break;

                case "ENDERECO":
                case "ENDEREÇO":
                    Logradouro = value?.ToString();
                    break;

                case "NUMERO":
                case "NÚMERO":
                    NumeroLogradouro = value?.ToString();
                    break;

                case "COMPLEMENTO":
                    Complemento = value?.ToString();
                    break;

                case "BAIRRO":
                    Bairro = value?.ToString();
                    break;

                case "MUNICIPIO":
                case "CIDADE":
                    Cidade = value?.ToString();
                    break;

                case "UF":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        if (value.ToString().IsState())
                        {
                            Estado = value?.ToString().ToUpper();
                        }
                        else
                        {
                            this.Erro += "Estado inválido. ";
                            line      += ";Estado inválido. ";
                        }
                    }
                    break;

                case "CEP":

                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        if (value.ToString().IsPostalCode())
                        {
                            Cep = value?.ToString();
                        }
                        else
                        {
                            this.Erro += "CEP inválido. ";
                            line      += ";CEP inválido. ";
                        }
                    }
                    break;

                case "DDD FIXO":
                case "DDD RES":
                case "DDD RES.":
                case "DDD RESIDENCIAL":
                    if (value is string && !string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        int dddres;
                        if (int.TryParse(value.ToString(), out dddres))
                        {
                            if (dddres != 0)
                            {
                                DddResidencial = dddres;
                            }
                        }
                        else
                        {
                            this.Erro += "DddResidencial inválido. ";
                            line      += ";DddResidencial inválido. ";
                        }
                    }
                    //else
                    //    DddResidencial = ((IConvertible)value).ToInt32(CultureInfo.InvariantCulture);
                    break;

                case "TEL RES":
                case "TEL RES.":
                case "TEL.RES":
                case "TEL. RES":
                case "TEL. RESIDENCIAL":
                case "TELEFONE RES":
                case "TELEFONE RES.":
                case "TELEFONE RESIDENCIAL":
                case "FIXO":
                    if (value is string && !string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        int telRes;
                        if (int.TryParse(value.ToString(), out telRes))
                        {
                            if (telRes != 0)
                            {
                                TelefoneResidencial = telRes.ToString();
                            }
                        }
                        else
                        {
                            this.Erro += "TelefoneResidencial inválido. ";
                            line      += ";TelefoneResidencial inválido. ";
                        }
                    }
                    break;

                case "DDD CEL":
                case "DDD CELULAR":
                case "DDD CEL.":
                    if (value is string && !string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        int dddCel;
                        if (int.TryParse(value.ToString(), out dddCel))
                        {
                            if (dddCel != 0)
                            {
                                DddCelular = dddCel;
                            }
                        }
                        else
                        {
                            this.Erro += "DddCelular inválido. ";
                            line      += ";DddCelular inválido. ";
                        }
                    }
                    //else
                    //    DddCelular = ((IConvertible)value).ToInt32(CultureInfo.InvariantCulture);
                    break;

                case "TEL CEL":
                case "TEL CEL.":
                case "TEL.CEL":
                case "TEL. CEL":
                case "TEL. CEL.":
                case "TEL. CELULAR":
                case "TELEFONE CEL":
                case "TELEFONE CEL.":
                case "TELEFONE CELULAR":
                case "CEL":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        int telCel;
                        if (int.TryParse(value.ToString(), out telCel))
                        {
                            if (telCel != 0)
                            {
                                TelefoneCelular = telCel.ToString();
                            }
                        }
                        else
                        {
                            this.Erro += "TelefoneCelular inválido. ";
                            line      += ";TelefoneCelular inválido. ";
                        }
                    }
                    break;

                case "DDD COM":
                case "DDD COMERCIAL":
                case "DDD COM.":
                    if (value is string && !string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        DddComercial = int.Parse(value.ToString());
                        int dddCom;
                        if (int.TryParse(value.ToString(), out dddCom))
                        {
                            if (dddCom != 0)
                            {
                                DddComercial = dddCom;
                            }
                        }
                        else
                        {
                            this.Erro += "DddComercial inválido. ";
                            line      += ";DddComercial inválido. ";
                        }
                    }
                    //else
                    //DddComercial = ((IConvertible)value).ToInt32(CultureInfo.InvariantCulture);
                    break;

                case "TEL COM.":
                case "TEL.COM":
                case "TEL. COM":
                case "TEL. COM.":
                case "TEL. COMERCIAL":
                case "TELEFONE COM":
                case "TELEFONE COM.":
                case "TELEFONE COMERCIAL":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        TelefoneComercial = value?.ToString();
                    }
                    break;

                case "EMAIL":
                case "E-MAIL":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        Email = value?.ToString();
                    }
                    break;

                case "TIP_CARTEIRA":
                case "CARTEIRA":
                    if (!string.IsNullOrWhiteSpace(value?.ToString()))
                    {
                        Carteira carteira;
                        if (System.Enum.TryParse(value.ToString(), true, out carteira))
                        {
                            Carteira = carteira.ToString();
                        }
                        else
                        {
                            line      += ";Carteira inválida";
                            this.Erro += "Carteira inválida. ";
                            //Perfil = null;
                        }
                    }
                    else
                    {
                        this.Erro += "Carteira inválida. ";
                        line      += ";Carteira inválida. ";
                    }
                    break;

                default:
                    if (key.StartsWith("PLST") && !string.IsNullOrWhiteSpace(value.ToString()))
                    {
                        UsuarioComplemento.Add(new UsuarioComplementoArquivo(TipoComplemento.Cartao, key, value?.ToString()));
                    }

                    if (key.StartsWith("META") && !string.IsNullOrWhiteSpace(value.ToString()))
                    {
                        UsuarioComplemento.Add(new UsuarioComplementoArquivo(TipoComplemento.Meta, key, value?.ToString()));
                    }

                    break;
                }



                if (string.IsNullOrWhiteSpace(Erro))
                {
                    Valido = true;
                }
            }
            catch (Exception ex)
            {
                Erro  += $"{ex.Message} ";
                Valido = false;
            }

            return(line);
        }
Ejemplo n.º 2
0
        public void Read(string[] lines)
        {
            try
            {
                this.Documento = lines[0];

                if (!this.Documento.IsCpf())
                {
                    this.Erro = "CPF inválido. ";
                }

                if (!string.IsNullOrWhiteSpace(lines[1]?.ToString()))
                {
                    Nome = lines[1]?.ToString();
                }
                else
                {
                    this.Erro = "NOME inválido. ";
                }

                DateTime dateCheck;
                if (DateTime.TryParseExact(lines[2], "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, out dateCheck))
                {
                    DataNascimento = dateCheck;
                }
                else
                {
                    this.Erro += "Data de Nascimento inválida. ";
                }

                if (!string.IsNullOrWhiteSpace(lines[3]?.ToString()))
                {
                    var sexo = Convert.ToChar(lines[3].ToString());
                    if (IndicadorSexo.Exist(sexo))
                    {
                        Sexo = sexo;
                    }
                    else
                    {
                        this.Erro += "Sexo inválido. ";
                    }
                }
                else
                {
                    Sexo = IndicadorSexo.M;
                }

                Cep = lines[4];

                //if (lines[4].IsPostalCode())
                //{
                //    Cep = lines[4];
                //}
                //else
                //{
                //    this.Erro += "CEP inválido. ";
                //}


                Logradouro       = lines[5];
                NumeroLogradouro = lines[6];
                Bairro           = lines[7];
                Cidade           = lines[8];
                Estado           = lines[9];

                //if (lines[8].IsState())
                //{
                //    Estado = lines[8];
                //}
                //else
                //{

                //    this.Erro += "Estado inválido. ";
                //}

                if (!string.IsNullOrWhiteSpace(lines[10]))
                {
                    int ddRes;
                    if (int.TryParse(lines[10], out ddRes))
                    {
                        DddResidencial = ddRes;
                    }
                }

                TelefoneResidencial = lines[11];

                if (!string.IsNullOrWhiteSpace(lines[12]))
                {
                    int ddCel;
                    if (int.TryParse(lines[12], out ddCel))
                    {
                        DddCelular = ddCel;
                    }
                }

                TelefoneCelular = lines[13];

                if (!string.IsNullOrWhiteSpace(lines[14]))
                {
                    Carteira carteira;
                    if (System.Enum.TryParse(lines[14], true, out carteira))
                    {
                        Carteira = carteira.ToString();
                    }
                    else
                    {
                        this.Erro += "Carteira inválida. ";
                    }
                }
                else
                {
                    this.Erro += "Carteira inválida. ";
                }


                //var totalPlasticos = 18;
                //var indexPlasticos = 15;

                //for (var i = 1; i <= totalPlasticos; i++)
                //{
                //    var plastico = lines[indexPlasticos++];
                //    if (!string.IsNullOrEmpty(plastico))
                //    {
                //        UsuarioComplemento.Add(new UsuarioComplementoArquivo(TipoComplemento.Cartao, $"PLST{i}", plastico));
                //    }
                //}

                //var indexMeta = 33;
                //var totalMeta = 3;

                //for (var i = 1; i <= totalMeta; i++)
                //{
                //    var meta = lines[indexMeta++];
                //    if (!string.IsNullOrEmpty(meta))
                //    {
                //        UsuarioComplemento.Add(new UsuarioComplementoArquivo(TipoComplemento.Meta, $"Meta{i}", meta));
                //    }
                //}

                if (string.IsNullOrWhiteSpace(Erro))
                {
                    Valido = true;
                }
            }
            catch (Exception ex)
            {
                Erro += $"{ex.Message} ";

                if (lines.Length != 37)
                {
                    this.Erro += " Tamanho da linha do arquivo inválida. ";
                }
                Valido = false;
            }
        }