예제 #1
0
        public bool RegistroJaExistente(string tipoRegistro, string valorChaveRegistro)
        {
            if (_cmdRegistroJaExistente == null)
            {
                _cmdRegistroJaExistente = UndTrabalho.DBArquivoSpedFiscal.GetSqlStringCommand(
                    SqlExpressionsFiscalRepository.GetSelectRegistroJaExistente());
                UndTrabalho.AddParameterToCommand(_cmdRegistroJaExistente, "@NR_ARQUIVO",
                                                  DbType.Int32, this._NumeroIdentificacaoArquivo);
                UndTrabalho.AddParameterToCommand(_cmdRegistroJaExistente, "@TP_REGISTRO",
                                                  DbType.String, tipoRegistro);
                UndTrabalho.AddParameterToCommand(_cmdRegistroJaExistente, "@VL_CHAVE_REGISTRO",
                                                  DbType.String, valorChaveRegistro);
            }
            else
            {
                _cmdRegistroJaExistente.Parameters["@TP_REGISTRO"].Value       = tipoRegistro;
                _cmdRegistroJaExistente.Parameters["@VL_CHAVE_REGISTRO"].Value = valorChaveRegistro;
            }

            bool jaExiste = (_ultimoRegistroPesquisadoPorTipo.ContainsKey(tipoRegistro) &&
                             _ultimoRegistroPesquisadoPorTipo[tipoRegistro] == valorChaveRegistro);

            if (!jaExiste)
            {
                jaExiste = (Convert.ToInt32(
                                UndTrabalho.DBArquivoSpedFiscal.ExecuteScalar(_cmdRegistroJaExistente)) > 0);

                // Configura a lista com a última chave pesquisada para o tipo de registro em questão
                if (jaExiste)
                {
                    _ultimoRegistroPesquisadoPorTipo[tipoRegistro] = valorChaveRegistro;
                }
            }
            return(jaExiste);
        }
        public void PersistirRegistro(RegistroBase registro)
        {
            if (_cmdPersistirRegistro == null)
            {
                _cmdPersistirRegistro = UndTrabalho.DBArquivoSpedContabil.GetSqlStringCommand(
                    SqlExpressionsContabilRepository.GetInsertPersistirRegistro());
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@NR_ARQUIVO",
                                                  DbType.Int32, this._NumeroIdentificacaoArquivo);
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@VL_ORDENACAO_BLOCO",
                                                  DbType.Int32, RegistroBase.GetValorOrdenacaoBloco(registro.REG));
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@VL_CHAVE_REGISTRO",
                                                  DbType.String, registro.GetKeyValue());
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@TP_REGISTRO",
                                                  DbType.String, registro.REG);
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@DS_CONTEUDO_REGISTRO",
                                                  DbType.String, registro.ToString());
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@CD_ORDENACAO_REGISTRO",
                                                  DbType.String, registro.CODIGO_ORDENACAO);
            }
            else
            {
                _cmdPersistirRegistro.Parameters["@VL_ORDENACAO_BLOCO"].Value =
                    RegistroBase.GetValorOrdenacaoBloco(registro.REG);
                _cmdPersistirRegistro.Parameters["@VL_CHAVE_REGISTRO"].Value = registro.GetKeyValue();
                _cmdPersistirRegistro.Parameters["@TP_REGISTRO"].Value       =
                    registro.REG;
                _cmdPersistirRegistro.Parameters["@DS_CONTEUDO_REGISTRO"].Value =
                    registro.ToString();
                _cmdPersistirRegistro.Parameters["@CD_ORDENACAO_REGISTRO"].Value =
                    registro.CODIGO_ORDENACAO;
            }

            UndTrabalho.DBArquivoSpedContabil.ExecuteNonQuery(_cmdPersistirRegistro);
        }
        public void PersistirRegistro(RegistroBase registro)
        {
            string sCD_ORD = registro.CODIGO_ORDENACAO.Split('-')[0].Trim();


            if (sCD_ORD.Equals("0140"))
            {
                UndTrabalho.iCONTROLE_EMP++;
            }

            if (sCD_ORD.Contains("010"))
            {
                UndTrabalho.iCONTROLE_EMP++;
            }

            else if (sCD_ORD.Equals("9001"))
            {
                UndTrabalho.iCONTROLE_EMP++;
            }


            if (_cmdPersistirRegistro == null)
            {
                _cmdPersistirRegistro = UndTrabalho.DBArquivoSpedFiscal.GetSqlStringCommand(
                    SqlExpressionsPisCofinsRepository.GetInsertPersistirRegistro());
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@NR_ARQUIVO",
                                                  DbType.Int32, this._NumeroIdentificacaoArquivo);
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@VL_ORDENACAO_BLOCO",
                                                  DbType.Int32, RegistroBase.GetValorOrdenacaoBloco(registro.REG));
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@VL_CHAVE_REGISTRO",
                                                  DbType.String, registro.GetKeyValue());
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@TP_REGISTRO",
                                                  DbType.String, registro.REG);
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@DS_CONTEUDO_REGISTRO",
                                                  DbType.String, registro.ToString());
                UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@CD_ORDENACAO_REGISTRO",
                                                  DbType.String, registro.CODIGO_ORDENACAO);

                //tratamento específico para piscofins
                //UndTrabalho.AddParameterToCommand(_cmdPersistirRegistro, "@CD_COLTROLE_EMP",
                //    DbType.Int32, UndTrabalho.iCONTROLE_EMP);
            }
            else
            {
                _cmdPersistirRegistro.Parameters["@VL_ORDENACAO_BLOCO"].Value =
                    RegistroBase.GetValorOrdenacaoBloco(registro.REG);
                _cmdPersistirRegistro.Parameters["@VL_CHAVE_REGISTRO"].Value = registro.GetKeyValue();
                _cmdPersistirRegistro.Parameters["@TP_REGISTRO"].Value       =
                    registro.REG;
                _cmdPersistirRegistro.Parameters["@DS_CONTEUDO_REGISTRO"].Value =
                    registro.ToString();
                _cmdPersistirRegistro.Parameters["@CD_ORDENACAO_REGISTRO"].Value =
                    registro.CODIGO_ORDENACAO;
                //_cmdPersistirRegistro.Parameters["@CD_COLTROLE_EMP"].Value =
                //   UndTrabalho.iCONTROLE_EMP;
            }

            UndTrabalho.DBArquivoSpedFiscal.ExecuteNonQuery(_cmdPersistirRegistro);
        }
예제 #4
0
        public void OpenRegistros()
        {
            DbCommand cmd = UndTrabalho.DBArquivoSpedFiscal.GetSqlStringCommand(
                SqlExpressionsFiscalRepository.GetSelectRegistrosGerados());

            UndTrabalho.AddParameterToCommand(cmd, "@NR_ARQUIVO", DbType.Int32,
                                              this._NumeroIdentificacaoArquivo);

            this._ReaderRegistros = UndTrabalho.DBArquivoSpedFiscal.ExecuteReader(cmd);
        }
예제 #5
0
        public void Finalizar()
        {
            if (Convert.ToBoolean(ConfigurationManager.AppSettings["LimparDadosAposGeracao"]))
            {
                DbCommand cmdExclusaoRegistros = UndTrabalho.DBArquivoSpedFiscal.GetSqlStringCommand(
                    SqlExpressionsFiscalRepository.GetDeleteRegistrosGerados());
                UndTrabalho.AddParameterToCommand(cmdExclusaoRegistros, "@NR_ARQUIVO",
                                                  DbType.Int32, this._NumeroIdentificacaoArquivo);
                UndTrabalho.DBArquivoSpedFiscal.ExecuteNonQuery(cmdExclusaoRegistros);
            }

            ActiveRecordStarter.ResetInitializationFlag();
            this._informacoesArquivo.CaminhoArquivo = UndTrabalho.CaminhoArquivo;
            this._informacoesArquivo.HorarioTerminoGeracaoArquivo = DateTime.Now;
            this._informacoesArquivo.Save();
        }
예제 #6
0
        public void OpenRegistros()
        {
            try
            {
                DbCommand cmd = UndTrabalho.DBArquivoSpedContabil.GetSqlStringCommand(
                    SqlExpressionsContimaticRepository.GetSelectRegistrosGerados());

                UndTrabalho.AddParameterToCommand(cmd, "@NR_ARQUIVO", DbType.Int32,
                                                  this._NumeroIdentificacaoArquivo);

                this._ReaderRegistros = UndTrabalho.DBArquivoSpedContabil.ExecuteReader(cmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #7
0
        public bool BlocoPossuiRegistros(string identificadorBloco)
        {
            if (_cmdQtdRegistrosBloco == null)
            {
                _cmdQtdRegistrosBloco = UndTrabalho.DBArquivoSpedFiscal.GetSqlStringCommand(
                    SqlExpressionsFiscalRepository.GetSelectQuantidadeRegistrosBloco());
                UndTrabalho.AddParameterToCommand(_cmdQtdRegistrosBloco, "@NR_ARQUIVO",
                                                  DbType.Int32, this._NumeroIdentificacaoArquivo);
                UndTrabalho.AddParameterToCommand(_cmdQtdRegistrosBloco, "@IDENTIFICADOR_BLOCO",
                                                  DbType.String, identificadorBloco);
            }
            else
            {
                _cmdQtdRegistrosBloco.Parameters["@IDENTIFICADOR_BLOCO"].Value = identificadorBloco;
            }

            return(Convert.ToInt32(
                       UndTrabalho.DBArquivoSpedFiscal.ExecuteScalar(_cmdQtdRegistrosBloco)) > 0);
        }