public TOCampos CarregarRegistros(string dirArquivo)
        {
            var toRegistros = new TOCampos();

            toRegistros.RegistroB470 = new TORegistroB470();
            toRegistros.RegistroE360 = new TORegistroE360();
            TOCampos result;

            try
            {
                var arquivo = new StreamReader(dirArquivo, Encoding.GetEncoding("ISO-8859-1"));
                for (var line = arquivo.ReadLine(); line != null; line = arquivo.ReadLine())
                {
                    var chave    = line.Split('|')[1];
                    var registro = toRegistros.Registro(chave);
                    if (registro != null)
                    {
                        registro.Ler(line);
                    }
                }
                result = toRegistros;
            }
            catch (Exception ex)
            {
                WriteToAnEventLog.gravar("Erro");
                throw;
            }
            return(result);
        }
Exemplo n.º 2
0
        public string ValidarCampos(Arquivo arquivo)
        {
            TOCampos resumo = new TOCampos();

            resumo = resumo.CarregarRegistros(arquivo.CaminhoENome);


            var campo1 = Convert.ToDecimal("0" + resumo.RegistroB470.VlIssqnREC, new CultureInfo("pt-BR")) != 0;
            var campo2 = Convert.ToDecimal("0" + resumo.RegistroE360.Vl01, new CultureInfo("pt-BR")) != 0;
            var campo3 = Convert.ToDecimal("0" + resumo.RegistroE360.Vl05, new CultureInfo("pt-BR")) >
                         Convert.ToDecimal("0" + resumo.RegistroE360.Vl03, new CultureInfo("pt-BR"));
            var mensagemErro = new StringBuilder();

            if (campo2)
            {
                mensagemErro.AppendLine(
                    "--@ ERRO. Contribuinte do Simples Nacional deve escriturar o arquivo do livro fiscal eletrônico conforme disposto no arquivo 10-C da Portaria 210/2016. Campo 2 do registro E360(VL_01 - Valor total dos débitos por " +
                    "Saídas e prestações com débito do imposto) deve ser igual a zero.");
                mensagemErro.AppendLine();
            }

            if (campo1)
            {
                mensagemErro.AppendLine(
                    "--@ ERRO. Contribuinte do Simples Nacional deve escriturar o arquivo do livro fiscal eletrônico conforme disposto no arquivo 10-C da Portaria 210/2016. Campo 13 do registro B470(VL_ISS_REC – Valor total apurado do ISS a recolher) " +
                    "deve ser igual a zero.");
                mensagemErro.AppendLine();
            }

            if (campo3)
            {
                mensagemErro.AppendLine(
                    "--@ ERRO. Contribuinte do Simples Nacional deve escriturar o arquivo do livro fiscal eletrônico conforme disposto no arquivo 10-C da Portaria 210/2006. O valor escriturado no campo 6 do registro E360 (VL_5 – Valor total dos créditos por " +
                    "“Entradas e aquisições com crédito do imposto”) não pode ser maior que o valor escriturado no campo 4 do registro E360 ( VL_03 - Valor total de “Estornos de crédito”).");
                mensagemErro.AppendLine();
            }

            return(mensagemErro.ToString());
        }