private void ProcessAndLoadAgents() { var agentGroupId = Convert.ToInt32(ddlAgentGroups.SelectedValue); if (agentGroupId > 0) { var agentIds = monitorDb.GetAgentIdByAgentGroup( agentGroupId); var agentEnumerated = from agentResult in agents join agent in agentIds on agentResult.AgentId equals agent select agentResult; agents = agentEnumerated.ToList(); var monitorValueEnumerated = from monitorResult in monitorValues join agent in agentIds on monitorResult.AgentId equals agent select monitorResult; monitorValues = monitorValueEnumerated.ToList(); } try { monitorDataTable = Util.CreateMonitorDataSet( agents, monitorCommands, monitorValues, monitorCommandLimits); LoadDataSet(); if (chkEmailOpt.Checked) { Util.SendMonitorLimitEmail( agents, monitorValues, monitorCommandLimits, monitorCommands); } } catch (Exception ex) { throw new Exception($"Exception: {ex.Message}"); } }