コード例 #1
0
ファイル: SendTestImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
ファイル: SvdbTableDaoImpl.cs プロジェクト: tangyingty/ecc88
        /// <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);
        }
コード例 #4
0
ファイル: SendTestImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
        }
コード例 #5
0
ファイル: TaskDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
            }
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
ファイル: TableDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
        }
コード例 #9
0
        /// <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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
ファイル: TaskDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
        }
コード例 #12
0
ファイル: TaskDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
            }
        }
コード例 #13
0
ファイル: ResourceDaoImpl.cs プロジェクト: tangyingty/ecc88
        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"];
        }
コード例 #14
0
        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));
        }
コード例 #15
0
ファイル: TaskDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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);
        }
コード例 #16
0
ファイル: SvdbTableDaoImpl.cs プロジェクト: tangyingty/ecc88
        /// <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);
        }
コード例 #17
0
ファイル: TableDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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失败,请检查服务器");
            }
        }
コード例 #18
0
ファイル: TableDaoImpl.cs プロジェクト: radtek/ECC8.1.3
        /// <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失败,请检查服务器");
            }
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        /// <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);
        }
コード例 #21
0
        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));
        }
コード例 #22
0
        /// <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);
        }
コード例 #23
0
        /// <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);
        }