public static MRule Parse(string s) { MRule rule = new MRule(); string[] buf = s.Split('>'); if (buf.Length == 2) { if (buf[1].Length == 0) { rule.end = false; rule.A = buf[0]; rule.B = buf[1]; return(rule); } if (buf[1][0] == '.') { rule.end = true; rule.B = buf[1].Substring(1); } else { rule.B = buf[1]; } rule.A = buf[0]; return(rule); } else { throw new Exception(); } }
public bool InsertIntoRule(MRule objrules) { StringBuilder sb = new StringBuilder(); sb.Append("insert into tb_rule (id,content) values(@ID,@RuleContent)"); SqlParameter[] param = { SQLDbHelper.GetParameter("@ID", SqlDbType.Int, 4, "id", objrules.ID), SQLDbHelper.GetParameter("@RuleContent", SqlDbType.Text, "content", objrules.RuleContent) }; bool is_succeed = SQLDbHelper.ExecuteSql(sb.ToString(), param); if (is_succeed) { return(true); } else { return(false); } }
public bool UpdateRuleContentByID(MRule objrules) { StringBuilder sb = new StringBuilder(); sb.Append("update tb_rule set content=@RuleContent where id=@ID"); SqlParameter[] param = { SQLDbHelper.GetParameter("@RuleContent", SqlDbType.Text, "content", objrules.RuleContent), SQLDbHelper.GetParameter("@ID", SqlDbType.Int, 4, "id", objrules.ID) }; bool is_succeed = SQLDbHelper.ExecuteSql(sb.ToString(), param); if (is_succeed) { return(true); } else { return(false); } }
private static string[] argParse(JArray arr) { var strList = new List <string>(arr.Count); foreach (var item in arr) { if (item is JObject) { bool allow = true; if (item["rules"] is JArray rules) { allow = MRule.CheckOSRequire(rules); } var value = item["value"] ?? item["values"]; if (allow && value != null) { if (value is JArray) { foreach (var str in value) { strList.Add(str.ToString()); } } else { strList.Add(value.ToString()); } } } else { strList.Add(item.ToString()); } } return(strList.ToArray()); }
public static MLibrary[] ParseJsonObject(JObject item) { try { var list = new List <MLibrary>(2); var name = item["name"]?.ToString(); var isRequire = true; // check rules array var rules = item["rules"]; if (CheckOSRules && rules != null) { isRequire = MRule.CheckOSRequire((JArray)rules); } // forge clientreq var req = item["clientreq"]?.ToString(); if (req != null && req.ToLower() != "true") { isRequire = false; } // support TLauncher var artifact = item["artifact"] ?? item["downloads"]?["artifact"]; var classifiers = item["classifies"] ?? item["downloads"]?["classifiers"]; var natives = item["natives"]; // NATIVE library if (natives != null) { var nativeId = natives[MRule.OSName]?.ToString()?.Replace("${arch}", MRule.Arch); if (classifiers != null && nativeId != null) { JObject lObj = (JObject)classifiers[nativeId]; list.Add(createMLibrary(name, nativeId, isRequire, lObj)); } else { list.Add(createMLibrary(name, nativeId, isRequire, new JObject())); } } // COMMON library if (artifact != null) { var obj = createMLibrary(name, "", isRequire, (JObject)artifact); list.Add(obj); } // library if (artifact == null && natives == null) { var obj = createMLibrary(name, "", isRequire, item); list.Add(obj); } return(list.ToArray()); } catch { return(null); } }
public bool InsertIntoRule(MRule objrules) { return(rules.InsertIntoRule(objrules)); }
public bool UpdateRuleContentByID(MRule objrules) { return(rules.UpdateRuleContentByID(objrules)); }
public void AddRule(string s) { rules.Add(MRule.Parse(s)); }