Ejemplo n.º 1
0
        /// <summary>
        /// Recupera os registro de log
        /// </summary>
        /// <param name="idFunc"></param>
        /// <param name="tabela"></param>
        /// <param name="id"></param>
        /// <param name="item"></param>
        /// <param name="motivo"></param>
        /// <param name="manual"></param>
        /// <returns></returns>
        public IEnumerable <LogCancelamento> ObtemLogs(uint idFunc, LogCancelamento.TabelaCancelamento tabela, int id, object item, string motivo, bool manual)
        {
            uint numEvento = GetNumEvento(tabela, id);

            // Percorre todas as propriedades que usam Log
            foreach (var p in GetPropriedades(item))
            {
                // Recupera o valor e garante que ele seja válido
                string valor = p.Atributo.GetValue(p.Propriedade, item);
                if (String.IsNullOrEmpty(valor))
                {
                    continue;
                }

                // Cria o log
                LogCancelamento log = new LogCancelamento();
                log.Tabela             = (int)tabela;
                log.IdRegistroCanc     = id;
                log.NumEvento          = numEvento;
                log.Motivo             = motivo;
                log.IdFuncCanc         = UserInfo.GetUserInfo?.CodUser ?? 0;
                log.DataCanc           = DateTime.Now;
                log.CancelamentoManual = manual;
                log.Campo      = p.Atributo.Campo;
                log.Valor      = valor;
                log.Referencia = LogCancelamento.GetReferencia(tabela, (uint)id);

                if (log.Referencia != null)
                {
                    log.Referencia = log.Referencia.Length <= 100 ? log.Referencia : log.Referencia.Substring(0, 97) + "...";
                }

                yield return(log);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Retorna o número do evento de cancelamento para um registro de uma tabela.
        /// </summary>
        private uint GetNumEvento(GDASession session, LogCancelamento.TabelaCancelamento tabela, int idRegistroCanc)
        {
            if (idRegistroCanc < 0)
            {
                return(1);
            }

            string sql = @"select coalesce(max(numEvento), 0) + 1 from log_cancelamento
                where tabela=" + (int)tabela + " and idRegistroCanc=" + idRegistroCanc;

            return(ExecuteScalar <uint>(session, sql));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Cria o Log de cancelamento de um objeto.
        /// </summary>
        /// <param name="tabela">A tabela que está sendo alterada.</param>
        /// <param name="id">O ID do item que está sendo cancelado.</param>
        /// <param name="item">O item que está sendo cancelado.</param>
        /// <param name="motivo">O motivo do cancelamento.</param>
        /// <param name="manual">O cancelamento foi manual?</param>
        private void InserirLog(GDASession sessao, uint idFunc, LogCancelamento.TabelaCancelamento tabela, uint id, object item, string motivo, bool manual)
        {
            // Cria a variável que guarda o texto que será salvo
            StringBuilder texto = new StringBuilder();

            uint numEvento = GetNumEvento(sessao, tabela, (int)id);

            // Percorre todas as propriedades que usam Log
            foreach (var p in GetPropriedades(item))
            {
                // Recupera o valor e garante que ele seja válido
                string valor = p.Atributo.GetValue(p.Propriedade, item);
                if (String.IsNullOrEmpty(valor))
                {
                    continue;
                }

                // Cria o log
                LogCancelamento log = new LogCancelamento();
                log.Tabela             = (int)tabela;
                log.IdRegistroCanc     = (int)id;
                log.NumEvento          = numEvento;
                log.Motivo             = motivo;
                log.IdFuncCanc         = idFunc;
                log.DataCanc           = DateTime.Now;
                log.CancelamentoManual = manual;
                log.Campo      = p.Atributo.Campo;
                log.Valor      = valor;
                log.Referencia = LogCancelamento.GetReferencia(sessao, tabela, (uint)id);

                if (log.Referencia != null)
                {
                    log.Referencia = log.Referencia.Length <= 100 ? log.Referencia : log.Referencia.Substring(0, 97) + "...";
                }

                Insert(sessao, log);
            }
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            LogCancelamento.TabelaCancelamento tabela = (LogCancelamento.TabelaCancelamento)Glass.Conversoes.StrParaInt(Request["tabela"]);

            if (!IsPostBack)
            {
                try
                {
                    string descrTabela = LogCancelamento.GetDescrTabela(tabela);
                    Page.Title += descrTabela;
                }
                catch { }
            }

            if (!IsPostBack)
            {
                hdfIdRegistroCanc.Value = Request.QueryString["id"];
            }

            hdfExibirAdmin.Value = UserInfo.GetUserInfo.IsAdminSync.ToString();

            switch (tabela)
            {
            case LogCancelamento.TabelaCancelamento.MovimentacaoBancaria:
                grdLog.Columns[0].Visible    = true;
                grdLog.Columns[0].HeaderText = "Cód.";
                break;

            default:
                grdLog.Columns[0].Visible = false;
                break;
            }

            lblIdRegistroCanc.Visible = grdLog.Columns[0].Visible;
            lblIdRegistroCanc.Text    = grdLog.Columns[0].HeaderText;
            txtIdRegistroCanc.Visible = grdLog.Columns[0].Visible;
            imgPesq.Visible           = grdLog.Columns[0].Visible;
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Verifica se há log para um registro de uma tabela.
 /// </summary>
 /// <param name="tabela"></param>
 /// <param name="idRegistroCanc"></param>
 /// <returns></returns>
 public bool TemRegistro(LogCancelamento.TabelaCancelamento tabela, uint idRegistroCanc)
 {
     return(GetCount((int)tabela, idRegistroCanc, UserInfo.GetUserInfo.IsAdminSync, null, 0, null, null, null, true) > 0);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Cria o Log de cancelamento de um objeto.
 /// </summary>
 /// <param name="tabela">A tabela que está sendo alterada.</param>
 /// <param name="id">O ID do item que está sendo cancelado.</param>
 /// <param name="item">O item que está sendo cancelado.</param>
 /// <param name="motivo">O motivo do cancelamento.</param>
 /// <param name="manual">O cancelamento foi manual?</param>
 private void InserirLog(uint idFunc, LogCancelamento.TabelaCancelamento tabela, uint id, object item, string motivo, bool manual)
 {
     InserirLog(null, idFunc, tabela, id, item, motivo, manual);
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Retorna o número do evento de cancelamento para um registro de uma tabela.
 /// </summary>
 private uint GetNumEvento(LogCancelamento.TabelaCancelamento tabela, int idRegistroCanc)
 {
     return(GetNumEvento(null, tabela, idRegistroCanc));
 }