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