/// <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); } }
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> }