Esempio n. 1
0
        public IEnumerable <T> ObtemAlteracoesAPartirDoLog <T>(T item, DateTime inicio, DateTime fim, Sync.Fiscal.Enumeracao.AlteracaoLog.TipoCampoAlteracao tipoCampoAlteracao)
            where T : Sync.Fiscal.EFD.Entidade.IBuscarAPartirDoLog
        {
            Glass.Data.Model.LogAlteracao.TabelaAlteracao tabela = 0;

            if (item is Sync.Fiscal.EFD.Entidade.IProduto)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.Produto;
            }

            else if (item is Sync.Fiscal.EFD.Entidade.ICentroCusto)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.CentroCusto;
            }

            else if (item is Sync.Fiscal.EFD.Entidade.IPlanoContaContabil)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.PlanoContaContabil;
            }

            else
            {
                throw new ArgumentException("Não foi possível identificar o tipo de objeto.", "item");
            }

            var alteracoes = item == null ? null :
                             LogAlteracaoDAO.Instance.GetByItem(tabela, (uint)(item as Sync.Fiscal.EFD.Entidade.IBuscarAPartirDoLog).Codigo, inicio, fim, true);

            return(LogAlteracaoDAO.Instance.GetItems <T>(alteracoes, LogAlteracaoDAO.TipoCampoRetorno.Anterior, true));
        }
Esempio n. 2
0
        /// <summary>
        /// Registra o número do evento de alteração para um registro de uma tabela
        /// </summary>
        public int ObterNumeroEventoAlteracao(Glass.Data.Model.LogAlteracao.TabelaAlteracao tabela, int idRegistroAlt)
        {
            if (idRegistroAlt < 0)
            {
                return(1);
            }

            return(SourceContext.Instance.CreateQuery()
                   .From <Data.Model.LogAlteracao>()
                   .Select("ISNULL(MAX(NumEvento), 0) + 1")
                   .Where("Tabela=?tabela AND IdRegistroAlt=?idRegistroAlt")
                   .Add("?tabela", tabela)
                   .Add("?idRegistroAlt", idRegistroAlt).Execute()
                   .Select(f => f.GetInt32(0)).FirstOrDefault());
        }
Esempio n. 3
0
        public IEnumerable <Sync.Fiscal.EFD.Entidade.IAlteracaoLog> ObtemAlteracoesLog <T>(T item, DateTime inicio, DateTime fim)
            where T : Sync.Fiscal.EFD.Entidade.IParticipanteNFe
        {
            Glass.Data.Model.LogAlteracao.TabelaAlteracao tabela = 0;

            if (item is Sync.Fiscal.EFD.Entidade.ILoja)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.Loja;
            }

            else if (item is Sync.Fiscal.EFD.Entidade.IFornecedor)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.Fornecedor;
            }

            else if (item is Sync.Fiscal.EFD.Entidade.ICliente)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.Cliente;
            }

            else if (item is Sync.Fiscal.EFD.Entidade.ITransportador)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.Transportador;
            }

            else if (item is Sync.Fiscal.EFD.Entidade.IAdministradoraCartao)
            {
                tabela = Glass.Data.Model.LogAlteracao.TabelaAlteracao.AdministradoraCartao;
            }

            else
            {
                throw new ArgumentException("Não foi possível identificar o tipo de objeto.", "item");
            }

            return(item == null ? new Sync.Fiscal.EFD.Entidade.IAlteracaoLog[0] :
                   LogAlteracaoDAO.Instance.GetByItem(tabela, (uint)(item as Sync.Fiscal.EFD.Entidade.IParticipanteNFe).Codigo, inicio, fim, true));
        }