Esempio n. 1
0
        private void GuardarEvento(LogMensajeAdmin log)
        {
            var t = new TimeElapsed();

            DaoFactory.LogMensajeAdminDAO.Save(log);
            var totalSeconds = t.getTimeElapsed().TotalSeconds;

            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("GuardarEvento/LogMensajeAdminDAO.Save ({0} secs)", totalSeconds));
            }
        }
Esempio n. 2
0
        private void ProcessActions(LogMensajeAdmin log)
        {
            var appliesToAnyAction = false;

            var t            = new TimeElapsed();
            var actions      = DaoFactory.AccionDAO.FindByMensaje(log.Mensaje);
            var totalSeconds = t.getTimeElapsed().TotalSeconds;

            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("ProcessActions/FindByMensaje ({0} secs)", totalSeconds));
            }

            t.Restart();
            var filteredActions = FilterActions(actions, log);

            totalSeconds = t.getTimeElapsed().TotalSeconds;
            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("ProcessActions/FilterActions ({0} secs)", totalSeconds));
            }

            t.Restart();
            foreach (var accion in filteredActions)
            {
                appliesToAnyAction = true;

                DaoFactory.RemoveFromSession(log);

                log.Id     = 0;
                log.Accion = accion;

                if (accion.CambiaMensaje)
                {
                    log.Texto += string.Concat(" ", accion.MensajeACambiar);
                }
                if (accion.PideFoto)
                {
                    PedirFoto(log);
                }
                if (accion.GrabaEnBase)
                {
                    GuardarEvento(log);
                }
                if (accion.EsAlarmaDeMail)
                {
                    SendMail(log);
                }
                if (accion.EsAlarmaSms)
                {
                    SendSms(log);
                }
                if (accion.Habilita)
                {
                    HabilitarUsuario(log.Accion);
                }
                if (accion.Inhabilita)
                {
                    InhabilitarUsuario(log.Accion);
                }
                if (accion.ReportarAssistCargo)
                {
                    ReportarAssistCargo(log, accion.CodigoAssistCargo);
                }
            }
            totalSeconds = t.getTimeElapsed().TotalSeconds;
            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("ProcessActions/foreach ({0} secs)", totalSeconds));
            }

            t.Restart();
            if (!appliesToAnyAction)
            {
                GuardarEvento(log);
            }
            totalSeconds = t.getTimeElapsed().TotalSeconds;
            if (totalSeconds > 1)
            {
                STrace.Debug("DispatcherLock", log.Dispositivo.Id, String.Format("ProcessActions/GuardarEvento ({0} secs)", totalSeconds));
            }
        }