public static RULE GetNamesIDs(SqlConnection Connection, int flag = 0, int ID = 1, string Name = null) { string sqlExpression = findNeedSELECT(flag, ID, Name); RULE R = new RULE(); SqlCommand command = new SqlCommand(sqlExpression, Connection); try { Connection.Open(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { R.ID = reader.GetInt32(0); R.Name = reader.GetString(1); } } Connection.Close(); } catch (SqlException se) { MessageBox.Show("GetNamesIDs - " + "SELECT exeption: " + se.Number.ToString() + "\n" + se.Message); Connection.Close(); } if (Connection.State != ConnectionState.Closed) { Connection.Close(); } return(R); }
public Task <List <string> > CorrectRules(SqlConnection Connection) { List <RULE> ListNode = new List <RULE>(); List <string> RuleNameStrings = new List <string>(); RULE R = new RULE(); R.Copy(this); ListNode = SELECTallRules(Connection, true, R, ListNode); for (int i = 0; i < ListNode.Count; ++i) { if (R.Node.Sr(ListNode[i].Node)) { RuleNameStrings.Add(ListNode[i].Name); } } return(Task.Run(() => { ListNode = SELECTallRules(Connection, true, R, ListNode); for (int i = 0; i < ListNode.Count; ++i) { if (R.Node.Sr(ListNode[i].Node)) { RuleNameStrings.Add(ListNode[i].Name); } } return RuleNameStrings; })); }
/// <summary> /// 根据ID获取数据模型 /// </summary> /// <param name="id">编号</param> /// <returns></returns> public RULE Get(string id) { RULE item = m_BLL.GetById(id); return(item); }
public void ImportKB(StreamReader sr) { //表示知识库已经存在了,可以进行数据的加载了 while (!sr.EndOfStream) { string sp; LinkedListNode <CAUSE> cp; LinkedListNode <RULE> rp; sp = sr.ReadLine(); if (sp == "" || sp == "\\") //新的规则的标记 { break; } RULE nr = new RULE(sp); rp = new LinkedListNode <RULE>(KnowledgeBase, nr); KnowledgeBase.AddFirst(rp); sp = sr.ReadLine(); while (sp != "\\") //表示的是前件 { CAUSE nc = new CAUSE(); nc.Cause = sp; cp = new LinkedListNode <CAUSE>(rp.Item.Cause_chain, nc); rp.Item.Cause_chain.AddLast(cp); sp = sr.ReadLine(); } } sr.Close(); MarkKB(); }
public void toggleDuelRules(int buttonId) { if (buttonId == 102) { acceptDuel(); return; } if (buttonId == 107) { declineDuel(); return; } RULE rule = getArrayId(buttonId); if (rule == RULE.NOTHING) { return; } //Compute the bitwse dule rules configuration packet data. if (ruleEnabled(rule)) { //rule is set, unset it. setRule(rule, false); //off p2.getDuel().setRule(rule, false); } else { //rule is unset, set it. setRule(rule, true); //on p2.getDuel().setRule(rule, true); } if (ruleEnabled(RULE.WEAPON)) { player.getPackets().sendMessage("You will not be able to use two-handed weapons, such as bows."); p2.getPackets().sendMessage("You will not be able to use two-handed weapons, such as bows."); } if (ruleEnabled(RULE.ARROWS)) { player.getPackets().sendMessage("You will not be able to use any weapon which uses arrows."); p2.getPackets().sendMessage("You will not be able to use any weapon which uses arrows."); } if (rules > (int)RULE.NOTHING) { player.getPackets().sendConfig(286, rules); p2.getPackets().sendConfig(286, rules); } else { player.getPackets().sendConfig(286, (int)RULE.NOTHING); p2.getPackets().sendConfig(286, (int)RULE.NOTHING); } resetStatus(); }
public void setRule(RULE rule, bool set) { if (set) { rules |= (int)rule; } else { rules &= ~(int)rule; } }
/// <summary> /// 创建一个规程表 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据库上下文</param> /// <param name="entity">一个规程表</param> /// <returns></returns> public bool Create(ref ValidationErrors validationErrors, RULE entity) { try { repository.Create(entity); return(true); } catch (Exception ex) { validationErrors.Add(ex.Message); ExceptionsHander.WriteExceptions(ex); } return(false); }
public static void DefaultRules(SqlConnection Connection) { if (Connection.State != ConnectionState.Closed) { Connection.Close(); } RULE R = new RULE(); R.NewRule("Sanatorii v gorah", SZft: 1, Gff: 1, Gfs: 1, Gft: 1); DoINSERTS(Connection, R); R.NewRule("Sanatorii vozle vodi", SZft: 1, Rff: 1, Rfs: 1, Rft: 1); DoINSERTS(Connection, R); R.NewRule("Sanatorii", SZft: 1); DoINSERTS(Connection, R); R.NewRule("Otdih v palatkah", THff: 2, THfs: 2, SZfs: 1, SZff: 1, P: 1, OnP: 1, OvKff: 1, OvKfs: 1); DoINSERTS(Connection, R); R.NewRule("Voennii muzei", VTff: 1); DoINSERTS(Connection, R); R.NewRule("Park slavi", VTfs: 1); DoINSERTS(Connection, R); R.NewRule("Gornolijnii kurort", Gff: 1, Gfs: 1, Gft: 1, SZfs: 1, SZff: 1, TLff: 1, TLfs: 1, AOff: 1, AOfs: 1, AOft: 1); DoINSERTS(Connection, R); R.NewRule("Poezdka na more", Rff: 1, AOfs: 1); DoINSERTS(Connection, R); R.NewRule("Poezdka na ozero", Rfs: 1, AOfs: 1); DoINSERTS(Connection, R); R.NewRule("Poezdka na ozero", Rft: 1, AOfs: 1); DoINSERTS(Connection, R); R.NewRule("Daiving", SZff: 1, Rff: 1, Rfs: 1, Rft: 1, AOft: 1); DoINSERTS(Connection, R); R.NewRule("Alpinizm", SZff: 1, Gff: 1, Gfs: 1, Gft: 1, AOff: 1, AOft: 1); DoINSERTS(Connection, R); R.NewRule("Ekskursia v gorod", OvKff: 1, OvKfs: 1, Aff: 1, Afs: 1, BGff: 1, BGfs: 1, BGft: 1, MGff: 1); DoINSERTS(Connection, R); R.NewRule("Ekskursia v selo", Aff: 1, Afs: 1, MGfs: 1); DoINSERTS(Connection, R); R.NewRule("Poezdka v mesto s istoricheskim naslediem", D: 1, Aff: 1, Afs: 1, P: 1, BGff: 1, BGfs: 1, BGft: 1, MGff: 1, MGfs: 1); DoINSERTS(Connection, R); R.NewRule("Zapovedhik", OnP: 1, P: 1, D: 1); DoINSERTS(Connection, R); R.NewRule("Park", BGff: 1, BGfs: 1, BGft: 1, MGff: 1, MGfs: 1, OnP: 1, P: 1); DoINSERTS(Connection, R); if (Connection.State != ConnectionState.Closed) { Connection.Close(); } }
private void RuleAddEditDeleteForm_Load(object sender, EventArgs e) { Rule = new RULE(); Rule.Clear(); AlgoritmStepIndex = 0; tabPage1_groupBox.Text = "Предпочитает активный отдых?"; tabPage1_textBox_Name.Text = null; tabPage1_label1.Text = "Название места отдыха:"; tabPage1_progressBar.Step = 31; tabPage1_radioButtonLike.Text = "Нравится"; tabPage1_radioButtonDLike.Text = "Не нравится"; tabPage1_radioButtonDNM.Text = "Не имеет значения"; tabPage1_MoveText(); tabPage1_button_Back.Enabled = false; tabPage1_button_Accept.Enabled = false; tabPage1_button_Cancel.Enabled = false; }
/// <summary> /// 创建 /// </summary> /// <param name="entity">实体对象</param> /// <returns></returns> public Common.ClientResult.Result Post([FromBody] RULE entity) { Common.ClientResult.Result result = new Common.ClientResult.Result(); if (entity != null && ModelState.IsValid) { string currentPerson = GetCurrentPerson(); entity.CREATETIME = DateTime.Now; entity.CREATEPERSON = currentPerson; if (string.IsNullOrWhiteSpace(entity.ID)) { entity.ID = Result.GetNewId(); } string returnValue = string.Empty; if (m_BLL.Create(ref validationErrors, entity)) { LogClassModels.WriteServiceLog(Suggestion.InsertSucceed + ",规程表的信息的Id为" + entity.ID, "规程表" );//写入日志 result.Code = Common.ClientCode.Succeed; result.Message = Suggestion.InsertSucceed; return(result); //提示创建成功 } else { if (validationErrors != null && validationErrors.Count > 0) { validationErrors.All(a => { returnValue += a.ErrorMessage; return(true); }); } LogClassModels.WriteServiceLog(Suggestion.InsertFail + ",规程表的信息," + returnValue, "规程表" );//写入日志 result.Code = Common.ClientCode.Fail; result.Message = Suggestion.InsertFail + returnValue; return(result); //提示插入失败 } } result.Code = Common.ClientCode.FindNull; result.Message = Suggestion.InsertFail + ",请核对输入的数据的格式"; //提示输入的数据的格式不对 return(result); }
// PUT api/<controller>/5 /// <summary> /// 编辑 /// </summary> /// <param name="entity"></param> /// <returns></returns> public Common.ClientResult.Result Put([FromBody] RULE entity) { Common.ClientResult.Result result = new Common.ClientResult.Result(); if (entity != null && ModelState.IsValid) { //数据校验 string currentPerson = GetCurrentPerson(); entity.UPDATETIME = DateTime.Now; entity.UPDATEPERSON = currentPerson; string returnValue = string.Empty; if (m_BLL.Edit(ref validationErrors, entity)) { LogClassModels.WriteServiceLog(Suggestion.UpdateSucceed + ",规程表信息的Id为" + entity.ID, "规程表" );//写入日志 result.Code = Common.ClientCode.Succeed; result.Message = Suggestion.UpdateSucceed; return(result); //提示更新成功 } else { if (validationErrors != null && validationErrors.Count > 0) { validationErrors.All(a => { returnValue += a.ErrorMessage; return(true); }); } LogClassModels.WriteServiceLog(Suggestion.UpdateFail + ",规程表信息的Id为" + entity.ID + "," + returnValue, "规程表" );//写入日志 result.Code = Common.ClientCode.Fail; result.Message = Suggestion.UpdateFail + returnValue; return(result); //提示更新失败 } } result.Code = Common.ClientCode.FindNull; result.Message = Suggestion.UpdateFail + "请核对输入的数据的格式"; return(result); //提示输入的数据的格式不对 }
public void Copy(RULE R) { ID = R.ID; Name = R.Name; Node.Copy(R.Node); }
public void SetIdName(RULE R) { ID = R.ID; Name = R.Name; }
public static void DoINSERTS(SqlConnection Connection, RULE Rule = default(RULE)) { string Ex = null; string[] sqlExpression = new string[13]; int ID = 0; sqlExpression[0] = "INSERT INTO Rules(Priroda, OtdihNaPrirode,Dostoprimech,TempSred,Name) " + $"values({Rule.Node.Prirodu}, {Rule.Node.OtdihNaPrirode}, {Rule.Node.Dostoprimechatelnosti}, {Rule.Node.Temp_Srednaa},'{Rule.Name}')"; sqlExpression[1] = $"SELECT TOP 1 ID FROM Rules WHERE Name='{Rule.Name}' ORDER BY ID DESC"; try { Connection.Open(); Ex += "Open"; SqlCommand command = new SqlCommand(sqlExpression[0], Connection); Ex += "\n\t" + sqlExpression[0] + "try... "; SqlDataReader reader = command.ExecuteReader(); Ex += "Done."; command = new SqlCommand(sqlExpression[1], Connection); Ex += "\n\t" + sqlExpression[1] + "try... "; reader.Close(); reader = command.ExecuteReader(); Ex += "Done."; if (reader.HasRows) { Ex += "\n\t\t\t\tHasRows."; while (reader.Read()) { ID = reader.GetInt32(0); Ex += $"\n\t\t\t\tHasID: {ID}"; } } reader.Close(); Connection.Close(); sqlExpression[2] = "INSERT INTO AktivniiOtdih(ID, FF, FS, FT) " + $"values({ID}, {Rule.Node.AktivniiOtdih.FF}, {Rule.Node.AktivniiOtdih.FS}, {Rule.Node.AktivniiOtdih.FT})"; sqlExpression[3] = "INSERT INTO Arhitectura(ID, FF, FS) " + $"values({ID}, {Rule.Node.Arhitectura.FF}, {Rule.Node.Arhitectura.FS})"; sqlExpression[4] = "INSERT INTO BolshieGoroda(ID, FF, FS, FT) " + $"values({ID}, {Rule.Node.BolshieGoroda.FF}, {Rule.Node.BolshieGoroda.FS}, {Rule.Node.BolshieGoroda.FT})"; sqlExpression[5] = "INSERT INTO Gori(ID, FF, FS, FT) " + $"values({ID}, {Rule.Node.Gori.FF}, {Rule.Node.Gori.FS}, {Rule.Node.Gori.FT})"; sqlExpression[6] = "INSERT INTO MalenkieGoroda(ID, FF, FS) " + $"values({ID}, {Rule.Node.MalenkieGoroda.FF}, {Rule.Node.MalenkieGoroda.FS})"; sqlExpression[7] = "INSERT INTO OtdihVKompanii(ID, FF, FS) " + $"values({ID}, {Rule.Node.OtdihVKompanii.FF}, {Rule.Node.OtdihVKompanii.FS})"; sqlExpression[8] = "INSERT INTO Reki(ID, FF, FS, FT) " + $"values({ID}, {Rule.Node.Reki.FF}, {Rule.Node.Reki.FS}, {Rule.Node.Reki.FT})"; sqlExpression[9] = "INSERT INTO SostoanieZdorovia(ID, FF, FS, FT) " + $"values({ID}, {Rule.Node.SostoanieZdorovia.FF},{Rule.Node.SostoanieZdorovia.FS}, {Rule.Node.SostoanieZdorovia.FT})"; sqlExpression[10] = "INSERT INTO Temp_Hight(ID, FF, FS) " + $"values({ID}, {Rule.Node.Temp_Hight.FF}, {Rule.Node.Temp_Hight.FS})"; sqlExpression[11] = "INSERT INTO Temp_Low(ID, FF, FS) " + $"values({ID}, {Rule.Node.Temp_Low.FF}, {Rule.Node.Temp_Low.FS})"; sqlExpression[12] = "INSERT INTO VoennaaTematika(ID, FF, FS) " + $"values({ID}, {Rule.Node.VoennaaTematika.FF},{Rule.Node.VoennaaTematika.FS})"; for (int i = 2; i < 13; ++i) { command = new SqlCommand(sqlExpression[i], Connection); Ex += "\n\t" + sqlExpression[i] + "try... "; Connection.Open(); reader = command.ExecuteReader(); reader.Close(); Connection.Close(); Ex += "Done."; } } catch (SqlException se) { MessageBox.Show("NeedNewTables - " + "SELECT exeption: " + se.Number.ToString() + "\n" + se.Message); Connection.Close(); CreateTable(Connection); } Connection.Close(); if (Connection.State != ConnectionState.Closed) { Connection.Close(); } }
public bool ruleEnabled(RULE i) { int bits = (int)i; return((rules & bits) == bits); }
public static List <RULE> SELECTallRules(SqlConnection Connection, bool flag = false, RULE Rule = default(RULE), List <RULE> ListNode = null) { string sqlExpression = null; SqlCommand command; RULE NodeList = new RULE(); List <RULE> List = new List <RULE>(); if (flag) { sqlExpression = CreateSELECTString(Rule); } else { sqlExpression = Properties.Resources.SelectAllString; //sqlExpression = Properties.Resources.SelectAllAlternative; } try { Connection.Open(); command = new SqlCommand(sqlExpression, Connection); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { NodeList.ID = reader.GetInt32(0); NodeList.Name = reader.GetString(1); NodeList.Node.AktivniiOtdih.FF = reader.GetByte(2); NodeList.Node.AktivniiOtdih.FS = reader.GetByte(3); NodeList.Node.AktivniiOtdih.FT = reader.GetByte(4); NodeList.Node.OtdihVKompanii.FF = reader.GetByte(5); NodeList.Node.OtdihVKompanii.FS = reader.GetByte(6); NodeList.Node.Prirodu = reader.GetByte(7); NodeList.Node.OtdihNaPrirode = reader.GetByte(8); NodeList.Node.Arhitectura.FF = reader.GetByte(9); NodeList.Node.Arhitectura.FS = reader.GetByte(10); NodeList.Node.BolshieGoroda.FF = reader.GetByte(11); NodeList.Node.BolshieGoroda.FS = reader.GetByte(12); NodeList.Node.BolshieGoroda.FT = reader.GetByte(13); NodeList.Node.MalenkieGoroda.FF = reader.GetByte(14); NodeList.Node.MalenkieGoroda.FS = reader.GetByte(15); NodeList.Node.Dostoprimechatelnosti = reader.GetByte(16); NodeList.Node.VoennaaTematika.FF = reader.GetByte(17); NodeList.Node.VoennaaTematika.FS = reader.GetByte(18); NodeList.Node.Reki.FF = reader.GetByte(19); NodeList.Node.Reki.FS = reader.GetByte(20); NodeList.Node.Reki.FT = reader.GetByte(21); NodeList.Node.Gori.FF = reader.GetByte(22); NodeList.Node.Gori.FS = reader.GetByte(23); NodeList.Node.Gori.FT = reader.GetByte(24); NodeList.Node.SostoanieZdorovia.FF = reader.GetByte(25); NodeList.Node.SostoanieZdorovia.FS = reader.GetByte(26); NodeList.Node.SostoanieZdorovia.FT = reader.GetByte(27); NodeList.Node.Temp_Hight.FF = reader.GetByte(28); NodeList.Node.Temp_Hight.FS = reader.GetByte(29); NodeList.Node.Temp_Low.FF = reader.GetByte(30); NodeList.Node.Temp_Low.FS = reader.GetByte(31); NodeList.Node.Temp_Srednaa = reader.GetByte(32); List.Add(NodeList); } } } catch (SqlException se) { MessageBox.Show("SELECTallRules - " + "SELECT exeption: " + se.Number.ToString() + "\n" + se.Message); Connection.Close(); CreateTable(Connection); } if (Connection.State != ConnectionState.Closed) { Connection.Close(); } if (ListNode != null) { ListNode = List; } return(List); }
public static List <RULE> UPDATEallRules(SqlConnection Connection, bool flag = false, RULE Rule = default(RULE), List <RULE> ListNode = default(List <RULE>)) { string[] sqlExpression = new string[12]; SqlCommand command; try { Connection.Open(); SqlDataReader reader; if (flag) { sqlExpression = CreateUPDATEString(Connection, Rule, 3); } else { for (int i = 0; i < ListNode.Count; ++i) { sqlExpression = CreateUPDATEString(Connection, ListNode[i], 3); } } for (int i = 0; i < sqlExpression.Length; ++i) { command = new SqlCommand(sqlExpression[i], Connection); reader = command.ExecuteReader(); } } catch (SqlException se) { MessageBox.Show("NeedNewTables - " + "SELECT exeption: " + se.Number.ToString() + "\n" + se.Message); Connection.Close(); CreateTable(Connection); } if (Connection.State != ConnectionState.Closed) { Connection.Close(); } return(ListNode); }
public TSQLWhereItem(string nameField, RULE rules, params object[] limits) { //int lim_max = -1 // , range = -1; _nameField = nameField; if ((!(limits == null)) && (limits.Length > 0)) { if (limits.Length == 1) // единственный объект { if (limits[0] is Array) { // предполагаем, что все объекты переданы в массиве единственного параметра //Array.Copy(limits[0] as Array, _limits, (limits[0] as Array).Length); _limits = new object[(limits[0] as Array).Length]; (limits[0] as Array).CopyTo(_limits, 0); } else { // предполагаем, что единственный объект простой, пригодный для использования в запросе для ограничения _limits = new object[limits.Length]; limits.CopyTo(_limits, 0); } } else // объектов более, чем 1 // предполагаем, что все объекты простые, пригодные для использования в запросе для ограничения { _limits = new object[limits.Length]; limits.CopyTo(_limits, 0); } } else { ; } Rules = rules; Ready = 0; //lim_max = (int)_limit; //range = 1; //while ((lim_max / range) > 0) range *= 10; //lim_max += range; foreach (RULE rule in Enum.GetValues(typeof(RULE))) { if ((rule & Rules) == rule) { switch (rule) { case RULE.Equale: Value = string.Format(@"{0}={1}", _nameField, (int)_limits[0]); break; case RULE.Between: Value = string.Format(@"{0}>{1} AND {0}<{2}", _nameField, (int)_limits[0], (int)_limits[1]); break; default: break; } } else { ; } } }
public void CreatKB() //创建知识库 { LinkedListNode <CAUSE> cp; LinkedListNode <RULE> rp; int i, j; string sp; FreeKB(KnowledgeBase); FreeKB(Used); try { StreamReader sr = new StreamReader("rule.dat"); //表示知识库已经存在了,可以进行数据的加载了 while (!sr.EndOfStream) { sp = sr.ReadLine(); if (sp == "" || sp == "\\") //新的规则的标记 { break; } RULE nr = new RULE(sp); rp = new LinkedListNode <RULE>(KnowledgeBase, nr); KnowledgeBase.AddFirst(rp); sp = sr.ReadLine(); while (sp != "\\") //表示的是前件 { CAUSE nc = new CAUSE(); nc.Cause = sp; cp = new LinkedListNode <CAUSE>(rp.Item.Cause_chain, nc); rp.Item.Cause_chain.AddLast(cp); sp = sr.ReadLine(); } } sr.Close(); } catch (FileNotFoundException) { Console.Write("\n knowledgebase is not exist,to establish!\n"); for (i = 1; ; i++) { Console.Write("\n********NO " + i + " rule********"); Console.Write("\n**Conclusion:(is/can/has)"); //首先输入结论 sp = Console.ReadLine(); if (sp == "") { break; } RULE nr = new RULE(sp); rp = new LinkedListNode <RULE>(KnowledgeBase, nr); //创建规则链 KnowledgeBase.AddFirst(rp); for (j = 1; ; j++) { Console.Write("\n***tiao(" + j + ")(is/can/has):"); //输入支持结论的前件(条件) sp = Console.ReadLine(); if (sp == "") { break; //回车表示,前件录入结束 } CAUSE nc = new CAUSE(sp); cp = new LinkedListNode <CAUSE>(rp.Item.Cause_chain, nc); rp.Item.Cause_chain.AddFirst(cp); } } if (KnowledgeBase.mHead == null) { Console.Write("\n There is no rule in the Knowledgebase!\n"); return; } //将数据保存到文件当中,一共下一次进行数据的调用 try { StreamWriter sw = new StreamWriter("rule.dat"); rp = KnowledgeBase.mHead; while (rp != null) { sw.WriteLine(rp.Item.Result); cp = rp.Item.Cause_chain.mHead; while (cp != null) { sw.WriteLine(cp.Item.Cause); cp = cp.next; } sw.WriteLine("\\"); //规则和规则之间用字符"\"分开 rp = rp.next; } sw.Close(); } catch (IOException) { Console.Write("\n write file is error!\n"); return; } } finally { MarkKB(); } }
public void setRule(RULE rule, bool set) { if (set) rules |= (int)rule; else rules &= ~(int)rule; }
public bool ruleEnabled(RULE i) { int bits = (int)i; return (rules & bits) == bits; }
private static string[] CreateUPDATEString(SqlConnection Connection, RULE Rule, int flag = 0, int ID = 1, string Name = null) { if (Rule.ID == 0 || Rule.Name == null) { Rule.SetIdName(GetNamesIDs(Connection, flag, ID, Name)); } string[] Strin = new string[12]; if (Rule.Name == null || Rule.Name.Length < 2) { Strin[0] = $"UPDATE AktivniiOtdih SET FF={Rule.Node.AktivniiOtdih.FF}, " + $"FS={Rule.Node.AktivniiOtdih.FS}, FT={Rule.Node.AktivniiOtdih.FT} " + $"WHERE ID ={Rule.ID};"; Strin[1] = $"UPDATE Arhitectura SET FF={Rule.Node.Arhitectura.FF}, " + $"FS={ Rule.Node.Arhitectura.FS} WHERE ID ={Rule.ID};"; Strin[2] = $"UPDATE BolshieGoroda SET FF={Rule.Node.BolshieGoroda.FF}, " + $"FS={Rule.Node.BolshieGoroda.FS}, FT={Rule.Node.BolshieGoroda.FT} " + $"WHERE ID ={Rule.ID};"; Strin[3] = $"UPDATE Gori SET FF={Rule.Node.Gori.FF}, " + $"FS={Rule.Node.Gori.FS}, FT={Rule.Node.Gori.FT} " + $"WHERE ID ={Rule.ID};"; Strin[4] = $"UPDATE MalenkieGoroda SET FF={Rule.Node.MalenkieGoroda.FF}, " + $"FS={ Rule.Node.MalenkieGoroda.FS} WHERE ID ={Rule.ID};"; Strin[5] = $"UPDATE OtdihVKompanii SET FF={Rule.Node.OtdihVKompanii.FF}, " + $"FS={ Rule.Node.OtdihVKompanii.FS} WHERE ID ={Rule.ID};"; Strin[6] = $"UPDATE Reki SET FF={Rule.Node.Reki.FF}, " + $"FS={Rule.Node.Reki.FS}, FT={Rule.Node.Reki.FT} " + $"WHERE ID ={Rule.ID};"; Strin[7] = $"UPDATE Rules SET Priroda={ Rule.Node.Prirodu}, " + $"OtdihNaPrirode={ Rule.Node.OtdihNaPrirode}, " + $"Dostoprimech={ Rule.Node.Dostoprimechatelnosti}, TempSred={Rule.Node.Temp_Srednaa} " + "WHERE Id =" + Rule.ID + ';'; Strin[8] = $"UPDATE SostoanieZdorovia SET FF={Rule.Node.SostoanieZdorovia.FF}, " + $"FS={Rule.Node.SostoanieZdorovia.FS}, FT={Rule.Node.SostoanieZdorovia.FT} " + $"WHERE ID ={Rule.ID};"; Strin[9] = $"UPDATE Temp_Hight SET FF={Rule.Node.Temp_Hight.FF}, " + $"FS={ Rule.Node.Temp_Hight.FS} WHERE ID ={Rule.ID};"; Strin[10] = $"UPDATE Temp_Low SET FF={Rule.Node.Temp_Low.FF}, " + $"FS={ Rule.Node.Temp_Low.FS} WHERE ID ={Rule.ID};"; Strin[11] = $"UPDATE VoennaaTematika SET FF={Rule.Node.VoennaaTematika.FF}, " + $"FS={ Rule.Node.VoennaaTematika.FS} WHERE ID ={Rule.ID};"; } else { Strin[0] = $"UPDATE AktivniiOtdih SET FF={Rule.Node.AktivniiOtdih.FF}, " + $"FS={Rule.Node.AktivniiOtdih.FS}, FT={Rule.Node.AktivniiOtdih.FT} " + $"WHERE ID ={Rule.ID};"; Strin[1] = $"UPDATE Arhitectura SET FF={Rule.Node.Arhitectura.FF}, " + $"FS={ Rule.Node.Arhitectura.FS} WHERE ID ={Rule.ID};"; Strin[2] = $"UPDATE BolshieGoroda SET FF={Rule.Node.BolshieGoroda.FF}, " + $"FS={Rule.Node.BolshieGoroda.FS}, FT={Rule.Node.BolshieGoroda.FT} " + $"WHERE ID ={Rule.ID};"; Strin[3] = $"UPDATE Gori SET FF={Rule.Node.Gori.FF}, " + $"FS={Rule.Node.Gori.FS}, FT={Rule.Node.Gori.FT} " + $"WHERE ID ={Rule.ID};"; Strin[4] = $"UPDATE MalenkieGoroda SET FF={Rule.Node.MalenkieGoroda.FF}, " + $"FS={ Rule.Node.MalenkieGoroda.FS} WHERE ID ={Rule.ID};"; Strin[5] = $"UPDATE OtdihVKompanii SET FF={Rule.Node.OtdihVKompanii.FF}, " + $"FS={ Rule.Node.OtdihVKompanii.FS} WHERE ID ={Rule.ID};"; Strin[6] = $"UPDATE Reki SET FF={Rule.Node.Reki.FF}, " + $"FS={Rule.Node.Reki.FS}, FT={Rule.Node.Reki.FT} " + $"WHERE ID ={Rule.ID};"; Strin[7] = $"UPDATE Rules SET Priroda={Rule.Node.Prirodu}, Name='{Rule.Name}'," + $"OtdihNaPrirode={Rule.Node.OtdihNaPrirode}, " + $"Dostoprimech={Rule.Node.Dostoprimechatelnosti}, TempSred={Rule.Node.Temp_Srednaa} " + $"WHERE Id ={Rule.ID};"; Strin[8] = $"UPDATE SostoanieZdorovia SET FF={Rule.Node.SostoanieZdorovia.FF}, " + $"FS={Rule.Node.SostoanieZdorovia.FS}, FT={Rule.Node.SostoanieZdorovia.FT} " + $"WHERE ID ={Rule.ID};"; Strin[9] = $"UPDATE Temp_Hight SET FF={Rule.Node.Temp_Hight.FF}, " + $"FS={ Rule.Node.Temp_Hight.FS} WHERE ID ={Rule.ID};"; Strin[10] = $"UPDATE Temp_Low SET FF={Rule.Node.Temp_Low.FF}, " + $"FS={ Rule.Node.Temp_Low.FS} WHERE ID ={Rule.ID};"; Strin[11] = $"UPDATE VoennaaTematika SET FF={Rule.Node.VoennaaTematika.FF}, " + $"FS={ Rule.Node.VoennaaTematika.FS} WHERE ID ={Rule.ID};"; } if (Connection.State != ConnectionState.Closed) { Connection.Close(); } return(Strin); }
public ActionResult Get(string id) { RULE item = m_BLL.GetById(id); return(Json(item, JsonRequestBehavior.AllowGet)); }
public void CreatKB(StreamWriter sw) //创建知识库 { LinkedListNode <CAUSE> cp; LinkedListNode <RULE> rp; int i, j; string sp; FreeKB(KnowledgeBase); FreeKB(Used); for (i = 1; ; i++) { sp = Interaction.InputBox("Result:(is/can/has)", "Rule[" + i + "]-Result");//首先输入结论 if (sp == "") { break; } RULE nr = new RULE(sp); rp = new LinkedListNode <RULE>(KnowledgeBase, nr); //创建规则链 KnowledgeBase.AddFirst(rp); for (j = 1; ; j++) { //输入支持结论的前件(条件) sp = Interaction.InputBox("Condition " + j + " :(is/can/has)", "Rule[" + i + "]-Condition[" + j + "]"); if (sp == "") { break; } CAUSE nc = new CAUSE(sp); cp = new LinkedListNode <CAUSE>(rp.Item.Cause_chain, nc); rp.Item.Cause_chain.AddFirst(cp); } } if (KnowledgeBase.mHead == null) { MessageBox.Show("There is no rule in the Knowledgebase!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //将数据保存到文件当中,一共下一次进行数据的调用 try { rp = KnowledgeBase.mHead; while (rp != null) { sw.WriteLine(rp.Item.Result); cp = rp.Item.Cause_chain.mHead; while (cp != null) { sw.WriteLine(cp.Item.Cause); cp = cp.next; } sw.WriteLine("\\"); //规则和规则之间用字符"\"分开 rp = rp.next; } sw.Close(); } catch (IOException) { MessageBox.Show("Create file \"Rule.rim\" error", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } MarkKB(); }
public static string CreateSELECTString(RULE Rule) { byte check = 0; NODE Node = new NODE(); Node.Copy(Rule.Node); string Str = Properties.Resources.SelectAllString + '\n'; while (true) { if (Node.SostoanieZdorovia.FF != 0) { Str += $" WHRERE (SZ.FF={Node.SostoanieZdorovia.FF} OR SZ.FS={Node.SostoanieZdorovia.FF} OR SZ.FT={Node.SostoanieZdorovia.FF}) AND ( "; ++check; break; } if (Node.SostoanieZdorovia.FS != 0) { Str += $" WHRERE (SZ.FS={Node.SostoanieZdorovia.FF} OR SZ.FT={Node.SostoanieZdorovia.FF}) AND ( "; ++check; break; } if (Node.SostoanieZdorovia.FT != 0) { Str += " WHRERE SZ.FT=" + Node.SostoanieZdorovia.FT + " AND ( "; ++check; } break; } if (Node.AktivniiOtdih.FF != 0) { Str += " OR AO.FF=" + Node.AktivniiOtdih.FF; ++check; } if (Node.AktivniiOtdih.FS != 0) { Str += " OR AO.FS=" + Node.AktivniiOtdih.FS; ++check; } if (Node.AktivniiOtdih.FT != 0) { Str += " OR AO.FT=" + Node.AktivniiOtdih.FT; ++check; } if (Node.OtdihVKompanii.FF != 0) { Str += " OR OvK.FF=" + Node.OtdihVKompanii.FF; ++check; } if (Node.OtdihVKompanii.FS != 0) { Str += " OR OvK.FS=" + Node.OtdihVKompanii.FS; ++check; } if (Node.Prirodu != 0) { Str += " OR R.Priroda=" + Node.Prirodu; ++check; } if (Node.OtdihNaPrirode != 0) { Str += " OR R.OtdihNaPrirode=" + Node.OtdihNaPrirode; ++check; } if (Node.Arhitectura.FF != 0) { Str += " OR A.FF=" + Node.Arhitectura.FF; ++check; } if (Node.Arhitectura.FS != 0) { Str += " OR A.FS=" + Node.Arhitectura.FS; ++check; } if (Node.BolshieGoroda.FF != 0) { Str += " OR BG.FF=" + Node.BolshieGoroda.FF; ++check; } if (Node.BolshieGoroda.FS != 0) { Str += " OR BG.FS=" + Node.BolshieGoroda.FS; ++check; } if (Node.BolshieGoroda.FT != 0) { Str += " OR BG.FT=" + Node.BolshieGoroda.FT; ++check; } if (Node.MalenkieGoroda.FF != 0) { Str += " OR MG.FF=" + Node.MalenkieGoroda.FF; ++check; } if (Node.MalenkieGoroda.FS != 0) { Str += " OR MG.FS=" + Node.MalenkieGoroda.FS; ++check; } if (Node.Dostoprimechatelnosti != 0) { Str += " OR R.Dostoprimech=" + Node.Dostoprimechatelnosti; ++check; } if (Node.VoennaaTematika.FF != 0) { Str += " OR VT.FF=" + Node.VoennaaTematika.FF; ++check; } if (Node.VoennaaTematika.FS != 0) { Str += " OR VT.FS=" + Node.VoennaaTematika.FS; ++check; } if (Node.Reki.FF != 0) { Str += " OR Re.FF=" + Node.Reki.FF; ++check; } if (Node.Reki.FS != 0) { Str += " OR Re.FS=" + Node.Reki.FS; ++check; } if (Node.Reki.FT != 0) { Str += " OR Re.FT=" + Node.Reki.FT; ++check; } if (Node.Gori.FF != 0) { Str += " OR G.FF=" + Node.Gori.FF; ++check; } if (Node.Gori.FS != 0) { Str += " OR G.FS=" + Node.Gori.FS; ++check; } if (Node.Gori.FT != 0) { Str += " OR G.FT=" + Node.Gori.FT; ++check; } if (Node.Temp_Hight.FF != 0) { Str += " OR TH.FF=" + Node.Temp_Hight.FF; ++check; } if (Node.Temp_Hight.FS != 0) { Str += " OR TH.FS=" + Node.Temp_Hight.FS; ++check; } if (Node.Temp_Low.FF != 0) { Str += " OR TL.FF=" + Node.Temp_Low.FF; ++check; } if (Node.Temp_Low.FS != 0) { Str += " OR TL.FS=" + Node.Temp_Low.FS; ++check; } if (Node.Temp_Srednaa != 0) { Str += " OR R.TempSred=" + Node.Temp_Srednaa; ++check; } if (check == 0) { Str = Properties.Resources.SelectAllString; } else { Str += " );"; } return(Str); }