protected void Page_Load(object sender, EventArgs e)
 {
     agents               = monitorDb.GetEnabledAgents();
     monitorValues        = monitorDb.GetMonitorValues();
     monitorCommands      = monitorDb.GetMonitorCommands();
     monitorCommandLimits = monitorDb.GetMonitorCommandLimits();
     if (!IsPostBack)
     {
         LoadUserInfo();
         LoadAgentGroups();
         ProcessAndLoadAgents();
     }
 }
        private List <MonitorCommandLimit> MonitorCommandLimits()
        {
            var dbLimits             = monitorDb.GetMonitorCommandLimits();
            var monitorCommandLimits = new List <MonitorCommandLimit>();

            monitorCommandLimits.Add(
                new MonitorCommandLimit()
            {
                Type = "url.ping",
            });
            monitorCommandLimits.Add(
                new MonitorCommandLimit()
            {
                Type = "cpu.percent"
            });
            monitorCommandLimits.Add(
                new MonitorCommandLimit()
            {
                Type       = "memory.free",
                IsLowLimit = true
            });
            monitorCommandLimits.Add(
                new MonitorCommandLimit()
            {
                Type       = "drive.free",
                IsLowLimit = true
            });
            foreach (var commandLimit in monitorCommandLimits)
            {
                var dbLimit = dbLimits
                              .Find(x => x.Type == commandLimit.Type);
                commandLimit.WarningLimit = dbLimit?.WarningLimit;
                commandLimit.ErrorLimit   = dbLimit?.ErrorLimit;
            }
            return(monitorCommandLimits);
        }