예제 #1
0
        /// <summary>
        /// Efetua a escrita do Registro 11 do arquivo.
        /// </summary>
        /// <param name="validarCampos">true ou false para realizar a validação dos dados.</param>
        /// <returns>String</returns>
        public string EscreverRegistro11(bool validarCampos = true)
        {
            if (validarCampos)
            {
                // Validar campos
            }

            var r11 = new string(' ', 126);

            try
            {
                r11 = r11.PreencherValorNaLinha(1, 2, TIPO.PadLeft(2, ' '));
                r11 = r11.PreencherValorNaLinha(3, 36, LOGRADOURO.Length > 34 ? LOGRADOURO.Substring(0, 34) : LOGRADOURO.PadRight(34, ' ')).ToUpper();
                r11 = r11.PreencherValorNaLinha(37, 41, NUMERO.Length <= 0 ? new string('0', 5) : NUMERO.PadLeft(5, '0')).ToUpper();

                if (string.IsNullOrEmpty(NUMERO) ||
                    NUMERO.ToUpper() == "S/Nº" ||
                    NUMERO.ToUpper() == "SNº" ||
                    NUMERO.ToUpper() == "SN" ||
                    NUMERO.ToUpper() == "S/N")
                {
                    r11 = r11.PreencherValorNaLinha(42, 63, "S/N".PadRight(22, ' '));
                }
                else
                {
                    r11 = r11.PreencherValorNaLinha(42, 63,
                                                    COMPLEMENTO.Length > 22
                            ? COMPLEMENTO.Substring(0, 22).PadRight(22, ' ')
                            : COMPLEMENTO.PadRight(22, ' ')).ToUpper();
                }

                r11 = r11.PreencherValorNaLinha(64, 78, BAIRRO.Length > 15 ? BAIRRO.Substring(0, 15) : BAIRRO.PadRight(15, ' ')).ToUpper();
                r11 = r11.PreencherValorNaLinha(79, 86, CEP.PadLeft(8, '0'));
                r11 = r11.PreencherValorNaLinha(87, 114, NOME_CONTATO.Length > 28 ? NOME_CONTATO.Substring(0, 28) : NOME_CONTATO.PadRight(28, ' ')).ToUpper();
                r11 = r11.PreencherValorNaLinha(115, 126, TELEFONE.Replace("(", "").Replace(")", "").Replace("-", "").Replace(".", "").PadLeft(12, '0'));

                return(r11);
            }
            catch (Exception e)
            {
                throw new Exception("Falha ao gerar registro tipo 11." + Environment.NewLine + e.Message);
            }
        }
예제 #2
0
        public WebCEP(string CEP, TypeCase tc = TypeCase.Normal)
        {
            UF             = "";
            CIDADE         = "";
            BAIRRO         = "";
            TIPOLAGRADOURO = "";
            LAGRADOURO     = "";
            RESULTADO      = 0;
            RESULTADO_TXT  = "CEP não encontrado";

            try
            {
                //Cria um DataSet  baseado no retorno do XML
                DataSet ds = new DataSet();
                ds.ReadXml("http://cep.republicavirtual.com.br/web_cep.php?cep=" + CEP.Replace("-", "").Trim() + "&formato=xml");

                if (ds != null)
                {
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        RESULTADO = Convert.ToInt32(ds.Tables[0].Rows[0]["resultado"].ToString());
                        switch (RESULTADO)
                        {
                        case 1:
                            UF             = ds.Tables[0].Rows[0]["uf"].ToString().Trim();
                            CIDADE         = ds.Tables[0].Rows[0]["cidade"].ToString().Trim();
                            BAIRRO         = ds.Tables[0].Rows[0]["bairro"].ToString().Trim();
                            TIPOLAGRADOURO = ds.Tables[0].Rows[0]["tipo_logradouro"].ToString().Trim();
                            LAGRADOURO     = ds.Tables[0].Rows[0]["logradouro"].ToString().Trim();
                            RESULTADO_TXT  = "CEP completo";
                            break;

                        case 2:
                            UF             = ds.Tables[0].Rows[0]["uf"].ToString().Trim();
                            CIDADE         = ds.Tables[0].Rows[0]["cidade"].ToString().Trim();
                            BAIRRO         = "";
                            TIPOLAGRADOURO = "";
                            LAGRADOURO     = "";
                            RESULTADO_TXT  = "CEP único";
                            break;

                        default:
                            UF             = "";
                            CIDADE         = "";
                            BAIRRO         = "";
                            TIPOLAGRADOURO = "";
                            LAGRADOURO     = "";
                            RESULTADO_TXT  = "CEP não encontrado";
                            break;
                        }
                        if (tc == TypeCase.Upper || tc == TypeCase.Lower)
                        {
                            UF             = tc == TypeCase.Upper ? UF.ToUpper() : UF.ToLower();
                            CIDADE         = tc == TypeCase.Upper ? CIDADE.ToUpper() : CIDADE.ToLower();
                            BAIRRO         = tc == TypeCase.Upper ? BAIRRO.ToUpper() : BAIRRO.ToLower();
                            TIPOLAGRADOURO = tc == TypeCase.Upper ? TIPOLAGRADOURO.ToUpper() : TIPOLAGRADOURO.ToLower();
                            LAGRADOURO     = tc == TypeCase.Upper ? LAGRADOURO.ToUpper() : LAGRADOURO.ToLower();
                            RESULTADO_TXT  = tc == TypeCase.Upper ? RESULTADO_TXT.ToUpper() : RESULTADO_TXT.ToLower();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex.InnerException);
            }

            //--result
            //Exemplo do retorno da  WEB
            //<?xml version="1.0"  encoding="iso-8859-1"?>
            //<webservicecep>
            //<uf>RS</uf>
            //<cidade>Porto  Alegre</cidade>
            //<bairro>Passo  D'Areia</bairro>
            //<tipo_logradouro>Avenida</tipo_logradouro>
            //<logradouro>Assis Brasil</logradouro>
            //<resultado>1</resultado>
            //<resultado_txt>sucesso - cep  completo</resultado_txt>
            //</webservicecep>
        }