/// <summary> /// Efetua a escrita do Registro 10 do arquivo. /// </summary> /// <param name="validarCampos">true ou false para realizar a validação dos dados.</param> /// <returns>String</returns> public string EscreverRegistro10(bool validarCampos = true) { if (validarCampos) { // Validar campos } var r10 = new string(' ', 126); try { r10 = r10.PreencherValorNaLinha(1, 2, TIPO.PadLeft(2, ' ')); r10 = r10.PreencherValorNaLinha(3, 16, CGCMF.PadLeft(14, ' ')); r10 = r10.PreencherValorNaLinha(17, 30, IE.PadRight(14, ' ')); r10 = r10.PreencherValorNaLinha(31, 65, NOME.Length > 35 ? NOME.Substring(0, 35) : NOME.PadRight(35, ' ')); r10 = r10.PreencherValorNaLinha(66, 95, MUNICIPIO.Length > 30 ? MUNICIPIO.Substring(0, 30) : MUNICIPIO.PadRight(30, ' ')); r10 = r10.PreencherValorNaLinha(96, 97, UF.PadRight(2, ' ')); r10 = r10.PreencherValorNaLinha(98, 107, FAX.PadLeft(10, '0')); r10 = r10.PreencherValorNaLinha(108, 115, DT_INI); r10 = r10.PreencherValorNaLinha(116, 123, DT_FIN); r10 = r10.PreencherValorNaLinha(124, 124, COD_ID_ESTRUT.PadRight(1, '3')); r10 = r10.PreencherValorNaLinha(125, 125, COD_ID_NAT_OPE.PadRight(1, '3')); r10 = r10.PreencherValorNaLinha(126, 126, COD_FIN.PadRight(1, '1')); return(r10); } catch (Exception e) { throw new Exception("Falha ao gerar registro tipo 10." + Environment.NewLine + e.Message); } }
/// <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); } }
/// <summary> /// Efetua a escrita do Registro 90 do arquivo. /// </summary> /// <param name="validarCampos">true ou false para realizar a validação dos dados.</param> /// <returns>String</returns> public string EscreverRegistro90(bool validarCampos = true) { if (validarCampos) { // Validar campos } int tamanhoPosicaoTipo = 2; int posicaoInicialTipo = 31; int tamanhoPosicaoTotal = 8; int posicaoInicialTotal = 33; var r90 = new string(' ', 126); try { r90 = r90.PreencherValorNaLinha(1, 2, TIPO.PadLeft(2, ' ')); r90 = r90.PreencherValorNaLinha(3, 16, CGCMF.PadLeft(14, ' ')); r90 = r90.PreencherValorNaLinha(17, 30, IE.PadRight(14, ' ')); foreach (var registroAtual in TotalizadoresDeRegistros) { r90 = r90.PreencherValorNaLinha(posicaoInicialTipo, (posicaoInicialTipo + (tamanhoPosicaoTipo - 1)), registroAtual.TIPO_A_SER_TOTALIZADO); r90 = r90.PreencherValorNaLinha(posicaoInicialTotal, (posicaoInicialTotal + (tamanhoPosicaoTotal - 1)), registroAtual.TOTAL_DE_REGISTROS.ToString().PadLeft(8, '0')); posicaoInicialTipo = posicaoInicialTotal + tamanhoPosicaoTotal; posicaoInicialTotal = posicaoInicialTipo + tamanhoPosicaoTipo; } r90 = r90.PreencherValorNaLinha(126, 126, "1"); return(r90); } catch (Exception e) { throw new Exception("Falha ao gerar registro tipo 90." + Environment.NewLine + e.Message); } }
/// <summary> /// Efetua a escrita do Registro 90 do arquivo. /// </summary> /// <returns>Strings</returns> public string EscreverRegistro90() { var sb = new StringBuilder(); int totalRegistrosTipo90 = 1; int tamanhoPosicaoTipo = 2; int posicaoInicialTipo = 31; int tamanhoPosicaoTotal = 8; int posicaoInicialTotal = 33; string r90 = null; try { foreach (var registroAtual in TotalizadoresDeRegistros) { if (posicaoInicialTipo == 121 || posicaoInicialTotal == 123) { sb.Append(r90); sb.Append(Environment.NewLine); // Reinicia o registro tipo 90 para inserção de nova linha para contagem dos demais registros. r90 = null; totalRegistrosTipo90++; posicaoInicialTipo = 31; posicaoInicialTotal = 33; } if (string.IsNullOrEmpty(r90)) { r90 = new string(' ', 126); r90 = r90.PreencherValorNaLinha(1, 2, TIPO.PadLeft(2, ' ')); r90 = r90.PreencherValorNaLinha(3, 16, CNPJ.PadLeft(14, ' ')); r90 = r90.PreencherValorNaLinha(17, 30, IE.PadRight(14, ' ')); } r90 = r90.PreencherValorNaLinha(posicaoInicialTipo, (posicaoInicialTipo + (tamanhoPosicaoTipo - 1)), registroAtual.TIPO_A_SER_TOTALIZADO); r90 = r90.PreencherValorNaLinha(posicaoInicialTotal, (posicaoInicialTotal + (tamanhoPosicaoTotal - 1)), registroAtual.TOTAL_DE_REGISTROS.ToString().PadLeft(8, '0')); posicaoInicialTipo = posicaoInicialTotal + tamanhoPosicaoTotal; posicaoInicialTotal = posicaoInicialTipo + tamanhoPosicaoTipo; } r90 = r90.PreencherValorNaLinha(126, 126, totalRegistrosTipo90.ToString()); sb.Append(r90); return(sb.ToString()); } catch (Exception e) { throw new Exception("Falha ao gerar registro tipo 90." + Environment.NewLine + e.Message); } }