/// <summary> /// EmailTest /// </summary> /// <param name="strMailServer"></param> /// <param name="strMailTo"></param> /// <param name="strMailFrom"></param> /// <param name="strUser"></param> /// <param name="strPassword"></param> /// <param name="strSubject"></param> /// <param name="strContent"></param> /// <returns></returns> public bool EmailTest(string strMailServer, string strMailTo, string strMailFrom, string strUser, string strPassword, string strSubject, string strContent) { //组织输入参数 anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "EmailTest"), Helper.XfireCreateKeyValue("mailServer", strMailServer), Helper.XfireCreateKeyValue("mailTo", strMailTo), Helper.XfireCreateKeyValue("mailFrom", strMailFrom), Helper.XfireCreateKeyValue("user", strUser), Helper.XfireCreateKeyValue("password", strPassword), Helper.XfireCreateKeyValue("subject", strSubject), Helper.XfireCreateKeyValue("content", strContent) }; //通过WebService查数据 this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } } return(result.retbool); }
public IDictionary <string, NameValueCollection> Decrypt(string[] values) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[values.Length + 1]; requestData[0] = Helper.XfireCreateKeyValue("dowhat", "decrypt"); for (int i = 1; i <= values.Length; i++) { //requestData[i] = Helper.XfireCreateKeyValue("X" + i.ToString(), values[i - 1]); requestData[i] = Helper.XfireCreateKeyValue(values[i - 1], ""); } this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } return(Helper.XfireConventMapEntryToDictionary(result.vmap)); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="count"></param> /// <returns></returns> public DataTable Query(MonitorTemplet templet, string id, int count) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "QueryRecordsByCount"), Helper.XfireCreateKeyValue("id", id), Helper.XfireCreateKeyValue("count", count.ToString()) }; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetForestData(requestData); //RetMapInVector result = this.service.GetForestData(requestData); if (!result.retbool) { if (logger.IsWarnEnabled) { logger.Warn(result.estr); } return(null); } DataTable dt = CreateDataTable(templet, result.vmap); return(dt); }
/// <summary> /// SmsTest /// </summary> /// <param name="strPhoneNumber"></param> /// <param name="bByWebSms"></param> /// <returns></returns> public bool SmsTest(string strPhoneNumber, bool bByWebSms) { //组织输入参数 anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "SmsTest"), Helper.XfireCreateKeyValue("phoneNumber", strPhoneNumber), Helper.XfireCreateKeyValue("ByWebSms", bByWebSms?"true":"false") }; //通过WebService查数据 this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } } return(result.retbool); }
/// <summary> /// /// </summary> /// <param name="task"></param> public void Update(Task task) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "SubmitTask"), Helper.XfireCreateKeyValue("del_supplement", "true") }; IDictionary <string, NameValueCollection> taskData = new Dictionary <string, NameValueCollection>(); taskData["property"] = task.Properties; taskData["return"] = new NameValueCollection(); taskData["return"]["id"] = task.Name; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.SubmitUnivData2(Helper.XfireConventDictionaryToMapEntry(taskData), requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } }
public bool PushStringMessage(string queuename, string label, string content) { this.service.Url = UserPermissionContext.Instance.Url; anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "PushStringMessage"), Helper.XfireCreateKeyValue("queuename", queuename), Helper.XfireCreateKeyValue("label", label), Helper.XfireCreateKeyValue("content", content) }; RetMapInVector result = ServiceClient.GetUnivData2(requestData); bool rs = false; if (result.retbool) { rs = true; } else { if (logger.IsWarnEnabled) { logger.Warn(result.estr); } } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); return(rs); }
/// <summary> /// 请求服务器将记录数据转成Excel文件并返回路径给客户端。 /// </summary> /// <param name="strIdList"></param> /// <param name="strDataType"></param> /// <param name="beginTime"></param> /// <param name="endTime"></param> /// <returns></returns> public IDictionary <string, NameValueCollection> QueryAllMonitorInfo() { //组织输入参数 anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "QueryAllMonitorInfo"), }; //通过WebService查数据 this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); return(resultData); }
/// <summary> /// 删除指定表格的指定时间以前的记录 /// </summary> public static IDictionary <string, NameValueCollection> DeleteTableRecords(string strTableId, DateTime tmFrom) { //组织输入参数 anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "DeleteRecords"), Helper.XfireCreateKeyValue("id", strTableId), Helper.XfireCreateKeyValue("year", tmFrom.Year.ToString()), Helper.XfireCreateKeyValue("month", tmFrom.Month.ToString()), Helper.XfireCreateKeyValue("day", tmFrom.Day.ToString()), Helper.XfireCreateKeyValue("hour", tmFrom.Hour.ToString()), Helper.XfireCreateKeyValue("minute", tmFrom.Minute.ToString()), Helper.XfireCreateKeyValue("second", tmFrom.Second.ToString()) }; //通过WebService查数据 service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { throw new Exception(result.estr); } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); return(resultData); }
/// <summary> /// /// </summary> /// <param name="entitys"></param> /// <returns></returns> public string[] BatchAddEntitys(ArrayList entitys) { //构造设备数据 IDictionary <string, NameValueCollection> data = new Dictionary <string, NameValueCollection>(); int i = 0; foreach (NameValueCollection entity in entitys) { string strTmp = ""; strTmp = "entity_" + i.ToString(); data[strTmp] = entity; i++; } anyType2anyTypeMapEntry[][] values = Helper.XfireConventDictionaryToMapEntry(data); anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "AddManyMonitor"), //Helper.XfireCreateKeyValue("parentid",parentid), Helper.XfireCreateKeyValue("autoCreateTable", "true") }; this.service.Url = UserPermissionContext.Instance.Url; int oldTimeout = this.service.Timeout; this.service.Timeout = 600000; RetMapInVector result = ServiceClient.SubmitUnivData2(values, requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new System.Net.WebException("调用Web Service失败:" + result.estr); } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); string[] entityids = new string[resultData["return"].Count - 1]; i = 0; foreach (string id in resultData["return"].AllKeys) { if (id.ToLower() == "return") { continue; } entityids[i] = id; i = i + 1; } this.service.Timeout = oldTimeout; return(entityids); }
public void GetAllQueueNames() { this.service.Url = UserPermissionContext.Instance.Url; anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "GetAllQueueNames"), }; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsWarnEnabled) { logger.Warn(result.estr); } } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); }
/// <summary> /// /// </summary> /// <param name="task"></param> public Task FindByName(string name) { Task task = new Task(); anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "GetTask"), Helper.XfireCreateKeyValue("id", name) }; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); task.Properties = resultData["property"]; task.Name = name; return(task); }
/// <summary> /// /// </summary> /// <param name="taskName"></param> public void DeleteTaskByName(string taskName) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "DeleteTask"), Helper.XfireCreateKeyValue("id", taskName) }; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } }
private void Load() { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "LoadResource"), Helper.XfireCreateKeyValue("language", this.language) }; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } IDictionary <string, NameValueCollection> data = Helper.XfireConventMapEntryToDictionary(result.vmap); this.resource = data["property"]; }
public DataTable QueryRecordsByCount(string id, string count) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[3]; requestData[0] = Helper.XfireCreateKeyValue("dowhat", "QueryRecordsByCount"); requestData[1] = Helper.XfireCreateKeyValue("id", id); requestData[2] = Helper.XfireCreateKeyValue("count", count); this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetForestData(requestData); //RetMapInVector result = this.service.GetForestData(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } return(CreateDataTable(id, result.vmap)); }
/// <summary> /// /// </summary> /// <returns></returns> public Task[] FindAll() { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "GetAllTask") }; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); throw new Exception(result.estr); } } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); Task[] tasks = new Task[resultData.Keys.Count - 1]; int i = 0; foreach (string key in resultData.Keys) { if ("return".Equals(key)) { continue; } tasks[i] = new Task(); tasks[i].Properties = resultData[key]; tasks[i].Name = key; i++; } return(tasks); }
/// <summary> /// 1 /// </summary> /// <param name="templet"></param> /// <param name="id"></param> /// <param name="beginTime"></param> /// <param name="endTime"></param> /// <param name="tj"></param> /// <returns></returns> public DataTable Query1(MonitorTemplet templet, string id, DateTime beginTime, DateTime endTime) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "QueryRecordsByTime"), Helper.XfireCreateKeyValue("id", id), Helper.XfireCreateKeyValue("begin_year", beginTime.Year.ToString()), Helper.XfireCreateKeyValue("begin_month", beginTime.Month.ToString()), Helper.XfireCreateKeyValue("begin_day", beginTime.Day.ToString()), Helper.XfireCreateKeyValue("begin_hour", beginTime.Hour.ToString()), Helper.XfireCreateKeyValue("begin_minute", beginTime.Minute.ToString()), Helper.XfireCreateKeyValue("begin_second", beginTime.Second.ToString()), Helper.XfireCreateKeyValue("end_year", endTime.Year.ToString()), Helper.XfireCreateKeyValue("end_month", endTime.Month.ToString()), Helper.XfireCreateKeyValue("end_day", endTime.Day.ToString()), Helper.XfireCreateKeyValue("end_hour", endTime.Hour.ToString()), Helper.XfireCreateKeyValue("end_minute", endTime.Minute.ToString()), Helper.XfireCreateKeyValue("end_second", endTime.Second.ToString()) }; this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetForestData(requestData); //RetMapInVector result = this.service.GetForestData(requestData); if (!result.retbool) { if (logger.IsWarnEnabled) { logger.Warn(result.estr); } return(null); } DataTable dt = CreateDataTable1(templet, result.vmap); return(dt); }
/// <summary> /// /// </summary> public static void SubmitUserOperateLogRecord() { if (data.Count <= 0) { return; } anyType2anyTypeMapEntry[][] logData = Helper.XfireConventDictionaryToMapEntry(data); service.Url = UserPermissionContext.Instance.Url; anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "AppendOperateLog") }; RetMapInVector result = ServiceClient.SubmitUnivData2(logData, requestData); data.Clear(); if (!result.retbool) { throw new System.Net.WebException("调用WebService失败,请检查服务器"); } }
/// <summary> /// 添加操作日志 /// </summary> /// <param name="strUserID"></param> /// <param name="strOperateTime"></param> /// <param name="strOperateType"></param> /// <param name="strOperateObjName"></param> /// <param name="strOperateObjInfo"></param> public static void AddUserOperateLogRecord(string strUserID, string strOperateTime, string strOperateObjName, string strOperateType, string strOperateObjInfo) { int nCount = data.Count + 1; NameValueCollection values = new NameValueCollection(); values.Add("_UserID", strUserID); values.Add("_OperateTime", strOperateTime); values.Add("_OperateType", strOperateType); values.Add("_OperateObjName", strOperateObjName); values.Add("_OperateObjInfo", strOperateObjInfo); data.Add("OperateLog_" + nCount.ToString(), values); if (nCount < 10) { return; } anyType2anyTypeMapEntry[][] logData = Helper.XfireConventDictionaryToMapEntry(data); service.Url = UserPermissionContext.Instance.Url; anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "AppendOperateLog") }; RetMapInVector result = ServiceClient.SubmitUnivData2(logData, requestData); data.Clear(); if (!result.retbool) { throw new System.Net.WebException("调用WebService失败,请检查服务器"); } }
public QueryAlertLogResult QueryAlertLog(AccessControl AccessInformation, AlertLogQueryCondition QueryCondition) { QueryAlertLogResult queryAlertLogResult = new QueryAlertLogResult(); //dowhat= QueryAlertLog, //begin_year= XXX, //begin_month= XXX, //begin_day= XXX, //begin_hour= XXX, //begin_minute= XXX, //begin_second= XXX, //end_year= XXX, //end_month= XXX, //end_day= XXX, //end_hour= XXX, //end_minute= XXX, //end_second= XXX, //alertName= XXX, //alertReceive= XXX, //alertType= XXX; ////alertName、alertReceive、alertType 是 and 关系,如果为空则为全部。 SortedDictionary <string, string> paras = new SortedDictionary <string, string>(); paras.Add("dowhat", "QueryAlertLog"); paras.Add("begin_year", QueryCondition.StartTime.Year.ToString()); paras.Add("begin_month", QueryCondition.StartTime.Month.ToString()); paras.Add("begin_day", QueryCondition.StartTime.Day.ToString()); paras.Add("begin_hour", QueryCondition.StartTime.Hour.ToString()); paras.Add("begin_minute", QueryCondition.StartTime.Minute.ToString()); paras.Add("begin_second", QueryCondition.StartTime.Second.ToString()); paras.Add("end_year", QueryCondition.EndTime.Year.ToString()); paras.Add("end_month", QueryCondition.EndTime.Month.ToString()); paras.Add("end_day", QueryCondition.EndTime.Day.ToString()); paras.Add("end_hour", QueryCondition.EndTime.Hour.ToString()); paras.Add("end_minute", QueryCondition.EndTime.Minute.ToString()); paras.Add("end_second", QueryCondition.EndTime.Second.ToString()); if (QueryCondition.LimitName) { paras.Add("alertName", QueryCondition.AlertName); } if (QueryCondition.LimitReceiver) { paras.Add("alertReceive", QueryCondition.AlertReceiver); } if (QueryCondition.LimitType) { paras.Add("alertType", QueryCondition.AlertType.ToString("D")); } if (QueryCondition.LimitIndex) { paras.Add("alertIndex", QueryCondition.AlertIndex); } anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[paras.Count]; int i = 0; foreach (string key in paras.Keys) { anyType2anyTypeMapEntry node = Helper.XfireCreateKeyValue(key, paras[key]); requestData[i++] = node; } this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetForestData(requestData); //RetMapInVector result = this.service.GetForestData(requestData); if (!result.retbool) { if (logger.IsWarnEnabled) { logger.Warn(result.estr); } return(null); } queryAlertLogResult.ErrorInformation = result.estr; queryAlertLogResult.QueryAlertLogOK = result.retbool; IList <NameValueCollection> resultData = Helper.XfireConventMapEntryToList(result.vmap); AlertLogItem[] responseData = new AlertLogItem[resultData.Count]; for (int j = 0; j < resultData.Count; j++) { NameValueCollection record = resultData[j]; AlertLogItem item = new AlertLogItem(); item.AlertIndex = record["_AlertIndex"]; item.AlertName = record["_AlertRuleName"]; item.EntityName = record["_DeviceName"]; item.MonitorName = record["_MonitorName"]; item.AlertReceiver = record["_AlertReceive"]; item.AlertStatus = (AlertStatus)Enum.Parse(typeof(AlertStatus), record["_AlertStatus"]); item.AlertTime = DateTime.Parse(record["_AlertTime"]); item.AlertType = (AlertType)Enum.Parse(typeof(AlertType), record["_AlertType"]); responseData[j] = item; } queryAlertLogResult.ResponseData = responseData; return(queryAlertLogResult); }
/// <summary> /// /// </summary> /// <param name="monitors"></param> /// <returns></returns> public string[] BatchAddMonitors(ArrayList monitors) { //构造监测器数据 IDictionary <string, NameValueCollection> data = new Dictionary <string, NameValueCollection>(); int i = 0; foreach (NameValueCollection monitor in monitors) { string strTmp = ""; foreach (string strKey in monitor.Keys) { strTmp += ("monitor_" + strKey.Split(':')[0]); strTmp += "_"; strTmp += i.ToString(); if (data.ContainsKey(strTmp)) { data[strTmp][strKey.Split(':')[1]] = monitor[strKey]; } else { data[strTmp] = new NameValueCollection(); data[strTmp][strKey.Split(':')[1]] = monitor[strKey]; } strTmp = ""; } i++; } anyType2anyTypeMapEntry[][] values = Helper.XfireConventDictionaryToMapEntry(data); anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "AdvanceAddManyMonitor"), Helper.XfireCreateKeyValue("autoCreateTable", "true") }; this.service.Url = UserPermissionContext.Instance.Url; int oldTimeout = this.service.Timeout; this.service.Timeout = 600000; RetMapInVector result = ServiceClient.SubmitUnivData2(values, requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new System.Net.WebException("调用Web Service失败:" + result.estr); } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); string[] monitorids = new string[resultData["return"].Count - 1]; i = 0; foreach (string id in resultData["return"].AllKeys) { if (id.ToLower() == "return") { continue; } monitorids[i] = id; i = i + 1; } this.service.Timeout = oldTimeout; return(monitorids); }
public DataTable QueryRecordsByTime( string id, string begin_year, string begin_month, string begin_day, string begin_hour, string begin_minute, string begin_second, string end_year, string end_month, string end_day, string end_hour, string end_minute, string end_second) { anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[14]; requestData[0] = Helper.XfireCreateKeyValue("dowhat", "QueryRecordsByTime"); requestData[1] = Helper.XfireCreateKeyValue("id", id); requestData[2] = Helper.XfireCreateKeyValue("begin_year", begin_year); requestData[3] = Helper.XfireCreateKeyValue("begin_month", begin_month); requestData[4] = Helper.XfireCreateKeyValue("begin_day", begin_day); requestData[5] = Helper.XfireCreateKeyValue("begin_hour", begin_hour); requestData[6] = Helper.XfireCreateKeyValue("begin_minute", begin_minute); requestData[7] = Helper.XfireCreateKeyValue("begin_second", begin_second); requestData[8] = Helper.XfireCreateKeyValue("end_year", end_year); requestData[9] = Helper.XfireCreateKeyValue("end_month", end_month); requestData[10] = Helper.XfireCreateKeyValue("end_day", end_day); requestData[11] = Helper.XfireCreateKeyValue("end_hour", end_hour); requestData[12] = Helper.XfireCreateKeyValue("end_minute", end_minute); requestData[13] = Helper.XfireCreateKeyValue("end_second", end_second); this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetForestData(requestData); //RetMapInVector result = this.service.GetForestData(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } // ²âÊÔÊý¾Ý //#if DEBUG // DataTable dttemp = new DataTable(); // dttemp.Columns.Add("No."); // dttemp.Columns.Add("CreateTime"); // dttemp.Columns.Add("RecordState"); // dttemp.Columns.Add("_SysLogIndex"); // dttemp.Columns.Add("_SysLogTime"); // dttemp.Columns.Add("_SourceIp"); // dttemp.Columns.Add("_SysLogMsg"); // dttemp.Columns.Add("_Facility"); // dttemp.Columns.Add("_Level"); // dttemp.Columns.Add("dstr"); // for (int i = 1; i < 220; i++) // { // DataRow row = dttemp.NewRow(); // row["No."] = i.ToString(); // row["CreateTime"] = "1"; // row["RecordState"] = "1"; // row["_SysLogIndex"] = "1"; // row["_SysLogTime"] = "1"; // row["_SourceIp"] = "192.168.0." + i.ToString(); // row["_SysLogMsg"] = "1"; // row["_Facility"] = "1"; // row["_Level"] = "1"; // row["dstr"] = "1"; // dttemp.Rows.Add(row); // } // return dttemp; //#endif return(null); // ²âÊÔ½áÊø //throw new Exception(result.estr); } //IDictionary<string, NameValueCollection> dict = Helper.XfireConventMapEntryToDictionary(result.vmap); return(CreateDataTable(id, result.vmap)); }
/// <summary> /// 通过WebService查数据 解密数据 并组织成DataTable /// </summary> /// <param name="requestData"></param> /// <returns></returns> private DataTable CreateDataTable(anyType2anyTypeMapEntry[] requestData) { //通过WebService查数据 this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } //解密数据并组织成DataTable DataTable runTable = new DataTable(); runTable.Columns.Add("名称"); runTable.Columns.Add("正常(%)"); runTable.Columns.Add("危险(%)"); runTable.Columns.Add("错误(%)"); runTable.Columns.Add("阀值"); runTable.Columns.Add("最新状态"); runTable.Columns.Add("最近一次描述"); //怎么表示hashKey最好呢? ... DataTable statTable = new DataTable(); statTable.Columns.Add("hashKey"); statTable.Columns.Add("名称"); statTable.Columns.Add("返回值名称"); statTable.Columns.Add("最大值"); statTable.Columns.Add("最小值"); statTable.Columns.Add("平均值"); statTable.Columns.Add("最近一次"); statTable.Columns.Add("最大值时间"); DataTable m_dstrTable = new DataTable(); m_dstrTable.Columns.Add("名称"); m_dstrTable.Columns.Add("时间"); m_dstrTable.Columns.Add("状态"); m_dstrTable.Columns.Add("返回值"); string[] strFilters = strFilter.Split(','); DataRow dr = null; IDictionary <string, DataTable> hashImgTable = new Dictionary <string, DataTable>(); IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); foreach (string key in resultData.Keys) { if (key.StartsWith("(Return")) { //怎么组织统计报告 由 dstr组成 的表形式呢? ... --> StatReport专用 //怎么根据返回值的sv_primary等做过滤呢? ...--> 后台把这些属性返回来 暂时只做值为 1 + and 关系 bool bFilter = false; if (!strFilter.Equals("")) { foreach (string strTmp in strFilters) { if (!resultData[key][strTmp].Equals("1")) { bFilter = true; break; } } } else { //strFilter 为空则所有返回值都可以 } if (bFilter) { continue; } //监测统计表 string strImageData = resultData[key]["detail"].ToString(); if (strImageData == "") { continue; } dr = statTable.NewRow(); //名称 返回值名称 最大 平均 最近一次 //latest max min MonitorName ReturnName average //dr["monitorid"] = key; dr["hashKey"] = key; //hashKey 在前台用控件屏蔽不显示即可 dr["名称"] = resultData[key]["MonitorName"].ToString(); dr["返回值名称"] = resultData[key]["ReturnName"].ToString(); dr["最大值"] = resultData[key]["max"].ToString(); dr["最小值"] = resultData[key]["min"].ToString(); dr["平均值"] = resultData[key]["average"].ToString(); dr["最近一次"] = resultData[key]["latest"].ToString(); dr["最大值时间"] = resultData[key]["when_max"].ToString(); statTable.Rows.Add(dr); //图片数据表 //monitorid -> value = ReturnValue -> key detail time=value string [] imgDatas = strImageData.Split(','); hashImgTable.Add(key, new DataTable()); //hashImgTable[key] = new DataTable(); DataColumn column = null; column = new DataColumn(); column.DataType = System.Type.GetType("System.DateTime"); column.ColumnName = "时间"; hashImgTable[key].Columns.Add(column); column = new DataColumn(); column.DataType = System.Type.GetType("System.Single"); column.ColumnName = resultData[key]["ReturnName"].ToString(); hashImgTable[key].Columns.Add(column); foreach (string strImg in imgDatas) { string[] strTmps = strImg.Split('='); if (strTmps.Length == 2) { //返回值是字符串怎么办呢? ...--> 后台已经过滤了(字符串型返回值没有返回来的) dr = hashImgTable[key].NewRow(); dr["时间"] = strTmps[0]; if (strTmps[1].StartsWith("(status)")) { dr[resultData[key]["ReturnName"].ToString()] = "0"; } else { dr[resultData[key]["ReturnName"].ToString()] = float.Parse(strTmps[1]); } hashImgTable[key].Rows.Add(dr); } } } else if (key.StartsWith("(dstr")) { //dstr 表 //monitor名称 + 时间 + dstr string strName = resultData[key]["MonitorName"]; foreach (string strKey in resultData[key].AllKeys) { if (strKey != "MonitorName") { dr = m_dstrTable.NewRow(); dr["名称"] = strName; dr["时间"] = strKey; dr["状态"] = resultData[key][strKey].ToString().Substring(0, 8).Trim(); dr["返回值"] = resultData[key][strKey].ToString().Substring(7).Trim(); m_dstrTable.Rows.Add(dr); } } } else { // if (key.Equals("return")) { continue; } //运行情况表 //名称 正常(%) 危险(%) 错误(%) 阀值 //monitorid -> MonitorName errorCondition errorPercent latestStatus okPercent warnPercent dr = runTable.NewRow(); //dr["monitorid"] = key; dr["名称"] = resultData[key]["MonitorName"].ToString(); dr["正常(%)"] = resultData[key]["okPercent"].ToString(); dr["危险(%)"] = resultData[key]["warnPercent"].ToString(); dr["错误(%)"] = resultData[key]["errorPercent"].ToString(); dr["阀值"] = resultData[key]["errorCondition"].ToString(); dr["最新状态"] = resultData[key]["latestStatus"].ToString(); dr["最近一次描述"] = resultData[key]["latestDstr"].ToString(); runTable.Rows.Add(dr); } } // this.imgTables = hashImgTable; this.measureTable = statTable; this.primaryTable = runTable; this.dstrTable = m_dstrTable; return(runTable); }
/// <summary> /// QueryReportData /// </summary> /// <param name="strIdList"></param> /// <param name="bCompress"></param> /// <param name="beginTime"></param> /// <param name="endTime"></param> /// <returns></returns> public IDictionary <string, NameValueCollection> QueryTopnMonitorInfo() { //组织输入参数 anyType2anyTypeMapEntry[] requestData = new anyType2anyTypeMapEntry[] { Helper.XfireCreateKeyValue("dowhat", "QueryInfo"), Helper.XfireCreateKeyValue("needkey", "sv_monitortype,sv_name"), Helper.XfireCreateKeyValue("needtype", "monitor") }; //通过WebService查数据 this.service.Url = UserPermissionContext.Instance.Url; RetMapInVector result = ServiceClient.GetUnivData2(requestData); if (!result.retbool) { if (logger.IsErrorEnabled) { logger.Error(result.estr); } throw new Exception(result.estr); } IDictionary <string, NameValueCollection> resultData = Helper.XfireConventMapEntryToDictionary(result.vmap); //统计所有已用的监测器类型 及 选监测器类型 + 选监测器指标的简单演示 ... IMonitorTempletDao templetDao = new MonitorTempletDaoImpl(); IDictionary <string, MonitorTemplet> topnMontiorTemplet = new Dictionary <string, MonitorTemplet>(); try { foreach (string key in resultData.Keys) { if (resultData[key]["sv_monitortype"] == null) { continue; } if (!topnMontiorTemplet.ContainsKey(resultData[key]["sv_monitortype"])) { string strTemplateId = resultData[key]["sv_monitortype"]; //MonitorTemplet templet = templetDao.FindById(resultData[key]["sv_monitortype"]); //MonitorTemplet[] templet = templetDao.FindById(new string[] { resultData[key]["sv_monitortype"] }, true); MonitorTemplet[] templet = templetDao.FindById(new string[] { resultData[key]["sv_monitortype"] }, false); topnMontiorTemplet.Add(resultData[key]["sv_monitortype"], templet[0]); ////监测器类型(用FindById true 即可实现选指标) //string strTmp = topnMontiorTemplet[resultData[key]["sv_monitortype"]].Name; //foreach (string key1 in topnMontiorTemplet[resultData[key]["sv_monitortype"]].Returns.Keys) //{ // //监测指标 // strTmp = topnMontiorTemplet[resultData[key]["sv_monitortype"].ToString()].Returns[key1]["sv_label"]; //} } } } catch (Exception e) { ; } return(resultData); }