private DataTable ReportDataDrilldown(string aRowLabel) { DataTable reportDataSet = new DataTable(); StatisticsDAO lStatisticsDAO = new StatisticsDAO(); string reportName = ""; if (aRowLabel.StartsWith("Compliance : ")) { reportName = aRowLabel.Substring(13); } else if (aRowLabel.StartsWith("Installations for : ")) { reportName = aRowLabel.Substring(20); } else { reportName = aRowLabel.Substring(0, aRowLabel.IndexOf(":")); reportName += ": "; } switch (reportName) { case StatisticTitles.ComputersDiscovered: reportDataSet = lStatisticsDAO.ComputersDiscovered(); break; case StatisticTitles.ComputersAudited: reportDataSet = lStatisticsDAO.ComputersAudited(); break; case StatisticTitles.ComputerLastAudit: reportDataSet = lStatisticsDAO.ComputerLastAudit(); break; case StatisticTitles.AssetsInStock: reportDataSet = lStatisticsDAO.AssetsInStock(); break; case StatisticTitles.AssetsInUse: reportDataSet = lStatisticsDAO.AssetsInUse(); break; case StatisticTitles.AssetsPending: reportDataSet = lStatisticsDAO.AssetsPending(); break; case StatisticTitles.AssetsDisposed: reportDataSet = lStatisticsDAO.AssetsDisposed(); break; case StatisticTitles.AgentsDeployed: reportDataSet = lStatisticsDAO.AgentsDeployed(); break; case StatisticTitles.UniqueApplications: reportDataSet = lStatisticsDAO.UniqueApplications(); break; case StatisticTitles.TotalApplications: reportDataSet = lStatisticsDAO.TotalApplications(); break; case StatisticTitles.AuditedToday: reportDataSet = lStatisticsDAO.AuditedToday(); break; case StatisticTitles.NotAudited7: reportDataSet = lStatisticsDAO.NotAudited7(); break; case StatisticTitles.NotAudited14: reportDataSet = lStatisticsDAO.NotAudited14(); break; case StatisticTitles.NotAudited30: reportDataSet = lStatisticsDAO.NotAudited30(); break; case StatisticTitles.NotAudited90: reportDataSet = lStatisticsDAO.NotAudited90(); break; case StatisticTitles.NotAudited: reportDataSet = lStatisticsDAO.NotAudited(); break; case StatisticTitles.LastAlert: reportDataSet = lStatisticsDAO.LastAlert(); break; case StatisticTitles.OutstandingAlerts: reportDataSet = lStatisticsDAO.StatisticsAssetsStatusDrilldown(aRowLabel); break; case StatisticTitles.AlertsToday: reportDataSet = lStatisticsDAO.AlertsToday(); break; case StatisticTitles.AlertsThisWeek: reportDataSet = lStatisticsDAO.AlertsThisWeek(); break; case StatisticTitles.AlertsThisMonth: reportDataSet = lStatisticsDAO.AlertsThisMonth(); break; case StatisticTitles.SupportExpired: reportDataSet = lStatisticsDAO.SupportExpired(); break; case StatisticTitles.SupportExpireToday: reportDataSet = lStatisticsDAO.SupportExpireToday(); break; case StatisticTitles.SupportExpireThisWeek: reportDataSet = lStatisticsDAO.SupportExpireThisWeek(); break; case StatisticTitles.SupportExpireThisMonth: reportDataSet = lStatisticsDAO.SupportExpireThisMonth(); break; case StatisticTitles.SupportExpiredAsset: reportDataSet = lStatisticsDAO.SupportExpiredAsset(); break; case StatisticTitles.SupportExpireTodayAsset: reportDataSet = lStatisticsDAO.SupportExpireTodayAsset(); break; case StatisticTitles.SupportExpireThisWeekAsset: reportDataSet = lStatisticsDAO.SupportExpireThisWeekAsset(); break; case StatisticTitles.SupportExpireThisMonthAsset: reportDataSet = lStatisticsDAO.SupportExpireThisMonthAsset(); break; case "Compliant": case "Non-Compliant": case "Ignored": case "Not Defined": reportDataSet = lStatisticsDAO.StatisticsComplianceDrilldown(reportName); break; default: AssetDAO lAssetDAO = new AssetDAO(); string lVersion = (reportName.EndsWith(")")) ? reportName.Substring(reportName.LastIndexOf('(') + 2).TrimEnd(')') : ""; string lApplicationName = (lVersion == "") ? reportName : reportName.Substring(0, reportName.LastIndexOf(" (")); //reportDataSet = lAssetDAO.FindAssetByApplicationNameAndVersion(lApplicationName, lVersion, lAssetDAO.GetAllAssetIdsAsString()); // CMD 8.4.2.3 - Why pass in all asset IDS??? A null string is better from what I can see reportDataSet = lAssetDAO.FindAssetByApplicationNameAndVersion(lApplicationName, lVersion, ""); break; } return(reportDataSet); }