public QueryAlertRuleResult QueryAlertRule(AccessControl AccessInformation, AlertRuleQueryCondition QueryCondition) { QueryAlertRuleResult Result = new QueryAlertRuleResult(); string estr = ""; bool ret = true; while (ret) { ret = GetAccessControlInformation(AccessInformation); if (!ret) { estr = ""; break; } ret = GetAlertRuleQueryCondition(QueryCondition); if (!ret) { estr = ""; break; } break; } if (ret) { string strServer = "localhost"; string strUser = "******"; if (AccessInformation.LimitServer) { strServer = AccessInformation.SVDBServer; } if (AccessInformation.LimitUser) { strUser = AccessInformation.UserID; } if (this.iniFile == null) { this.iniFile = new IniFileDaoImpl(); } IDictionary<string, NameValueCollection> sectionlists = this.iniFile.GetIniFile("alert.ini"); BaseAlert[] baseAlerts = new BaseAlert[sectionlists.Count]; int i = 0; foreach (string key in sectionlists.Keys) { baseAlerts[i] = GetIniBaseAlertInfo(key, sectionlists); i = i + 1; } Result.ResponseData = baseAlerts; } Result.ErrorInformation = estr; Result.QueryAlertRuleOK = ret; return Result; }
/// <summary> /// ���� /// </summary> /// <param name="structQueryCondition"></param> /// <returns></returns> private bool GetAlertRuleQueryCondition(AlertRuleQueryCondition structQueryCondition) { if (structQueryCondition.LimitIndex) { if (string.IsNullOrEmpty(structQueryCondition.AlertIndex)) { return false; } } if (structQueryCondition.LimitTarget) { if (string.IsNullOrEmpty(structQueryCondition.AlertTarget)) { return false; } } if (structQueryCondition.LimitName) { if (string.IsNullOrEmpty(structQueryCondition.AlertName)) { return false; } } if (structQueryCondition.LimitType) { if (string.IsNullOrEmpty(structQueryCondition.AlertType.ToString())) { return false; } } if (structQueryCondition.LimitCategory) { if (string.IsNullOrEmpty(structQueryCondition.AlertCategory.ToString())) { return false; } } if (structQueryCondition.LimitTimes) { if (string.IsNullOrEmpty(structQueryCondition.AlertTimes.ToString())) { return false; } } if (structQueryCondition.LimitState) { if (string.IsNullOrEmpty(structQueryCondition.AlertState.ToString())) { return false; } } return true; }