Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
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);
            }
        }
Beispiel #3
0
        /// <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);
            }
        }