private CheckResult GetCheckResult(int minutesDelta, CheckResultType type) { return(new CheckResult { Check = new Check { Name = CheckName }, CheckBatch = new CheckBatch(), Type = type, Time = TimeUtilities.DateTimeOffsetToLong(UtcNow.AddMinutes(minutesDelta)) }); }
private void InitializeNewAction(IEnumerable <ReadTagActionItem> readTags, IEnumerable <WriteTagActionItem> writeTags, IEnumerable <CheckTagActionItem> checkTags, CheckResultType checkResultType) { foreach (var readTagActionItem in readTags) { _readTags.Add(readTagActionItem); } foreach (var writeTagActionItem in writeTags) { _writeTags.Add(writeTagActionItem); } foreach (var checkTagActionItem in checkTags) { _checkTags.Add(checkTagActionItem); } _checkResultType = checkResultType; }
/// <summary> /// 解析cehck接口返回的结果 /// </summary> /// <param name="response"></param> /// <returns></returns> static CheckResultType parseRet(string response) { CheckResultType returnResult = CheckResultType.Success; if (String.IsNullOrEmpty(response)) { returnResult = CheckResultType.Error; return(returnResult); } try { JObject ret = JObject.Parse(response); int code = ret.GetValue("code").ToObject <Int32>(); String msg = ret.GetValue("msg").ToObject <String>(); if (code == 200) { JObject array = (JObject)ret.SelectToken("result"); int actioncode = array.GetValue("action").ToObject <Int32>(); returnResult = (CheckResultType)actioncode; } else { Console.WriteLine("error: {0}", msg); returnResult = (CheckResultType)code; } } catch (Exception e) { if (e.Source != null) { Console.WriteLine("IOException source: {0}", e.Source); } returnResult = CheckResultType.Error; } return(returnResult); }
//<Action Type="TagsAction" Name="Action1" CheckResultType="AllTag"> // <ActionItem Type="WriteTag" Tag="Tag1" ConstValue="true" /> // <ActionItem Type="CheckTag" Tag="Tag2" ConstValue="true" /> // <ActionItem Type="CheckTag" Tag="Tag3" ConstValue="true" /> //</Action> public override bool LoadFromConfig(XmlNode node) { try { if (!base.LoadFromConfig(node)) { return(false); } // 增加返回值检查类型功能 Dongmin 20170804 var level0Item = (XmlElement)node; if (level0Item.HasAttribute("CheckResultType")) { var strCheckResultType = level0Item.GetAttribute("CheckResultType"); if (strCheckResultType.ToLower() == "anytag") { _checkResultType = CheckResultType.AnyTag; } } foreach (XmlNode level1Node in node) { // level1 -- "Parameter", "StepAction" if (level1Node.NodeType == XmlNodeType.Comment) { continue; } var level1Item = (XmlElement)level1Node; if (string.Equals(level1Item.Name, "ActionItem", StringComparison.CurrentCultureIgnoreCase)) { // 创建ActionItem var actionItemType = level1Item.GetAttribute("Type"); if (string.Equals(actionItemType, "ReadTag", StringComparison.CurrentCultureIgnoreCase)) { var actionItem = new ReadTagActionItem(); if (!actionItem.LoadFromConfig(level1Item, this)) { return(false); } if (actionItem.Tag.AccessType == TagAccessType.Write) { Log.Error($"装载机器TagsAction:{Name},Machine:[{OwnerMachine.ResourceName}]装载Tag:{actionItem.Tag.TagName},Tag访问类型为[只写],不能用作ReadTag。"); } _readTags.Add(actionItem); } else if (string.Equals(actionItemType, "WriteTag", StringComparison.CurrentCultureIgnoreCase)) { var actionItem = new WriteTagActionItem(); if (!actionItem.LoadFromConfig(level1Item, this)) { return(false); } _writeTags.Add(actionItem); } else if (string.Equals(actionItemType, "CheckTag", StringComparison.CurrentCultureIgnoreCase)) { var actionItem = new CheckTagActionItem(); if (!actionItem.LoadFromConfig(level1Item, this)) { return(false); } _checkTags.Add(actionItem); } } } return(true); } catch (Exception ex) { Log.Error(ex); return(false); } }
public CheckResult AddCheckResult(CheckResultType type, int minutesDelta) { return(AddCheckResult(GetCheckResult(minutesDelta, type))); }