public RegistroI010 GetRegistroI010()
        {
            DataAccessor <RegistroI010> regI010Accessor =
                UndTrabalho.DBArquivoSpedContabil.CreateSqlStringAccessor(
                    SqlExpressionsContabilRepository.GetSelectRegistroI010(),
                    new FilterByCdEmpresaParameterMapper(UndTrabalho.DBArquivoSpedContabil),
                    MapBuilder <RegistroI010> .MapAllProperties()
                    .DoNotMap(p => p.IND_ESC)
                    .Build());

            RegistroI010 regI010 = regI010Accessor.Execute(UndTrabalho.CodigoEmpresa).First();

            switch (UndTrabalho.TipoArquivo)
            {
            case TipoArquivo.ContabilDiarioCompleto:
                regI010.IND_ESC = "G";
                break;

            case TipoArquivo.ContabilDiarioEscrituracaoResumida:
                regI010.IND_ESC = "R";
                break;

            case TipoArquivo.ContabilDiarioAuxiliar:
                regI010.IND_ESC = "A";
                break;

            case TipoArquivo.ContabilLivroBalancetes:
                regI010.IND_ESC = "B";
                break;

            case TipoArquivo.ContabilRazaoAuxiliar:
                regI010.IND_ESC = "Z";
                break;
            }

            return(regI010);
        }
        private void ProcessarLancamentos()
        {
            this.UpdateStatusAsynchronousExecution("Iniciando processamento dos lançamentos contábeis");

            this.UpdateStatusAsynchronousExecution("Gerando Registro I001");
            RegistroI001 regI001 = LancamentosService.GetRegistroI001();

            DadosArquivoContabilService.PersistirRegistro(regI001);

            this.UpdateStatusAsynchronousExecution("Gerando Registro I010");
            RegistroI010 regI010 = LancamentosService.GetRegistroI010();

            DadosArquivoContabilService.PersistirRegistro(regI010);

            this.ProcessarPlanoContas();
            this.ProcessarSaldosPeriodicos(); // método com problema decimal
            this.ProcessarLancamentosPeriodo();
            this.ProcessarBalancetesPeriodo();

            this.UpdateStatusAsynchronousExecution("Gerando Registro I990");
            RegistroI990 regI990 = DadosArquivoContabilService.GetRegistroI990();

            DadosArquivoContabilService.PersistirRegistro(regI990);
        }