public override string ToString() { var filters = new StringBuilder(Name); if (!string.IsNullOrEmpty(Id)) { string filterValue = Id.Contains(Delimiter) ? Quote + Id + Quote : Id; filters.AppendFormat(KeywordFormat, KeywordId, filterValue); } if (!string.IsNullOrEmpty(SetCode)) { string filterValue = SetCode.Contains(Delimiter) ? Quote + SetCode + Quote : SetCode; filters.AppendFormat(KeywordFormat, KeywordSet, filterValue); } foreach (KeyValuePair <string, string> filter in StringProperties) { string filterValue = filter.Value.Contains(Delimiter) ? Quote + filter.Value + Quote : filter.Value; filters.AppendFormat(KeywordFormat, filter.Key + KeywordString, filterValue); } foreach (KeyValuePair <string, bool> filter in BoolProperties) { filters.AppendFormat(KeywordFormat, filter.Value ? KeywordIs : KeywordNot, filter.Key); } foreach (KeyValuePair <string, int> filter in IntMinProperties) { filters.AppendFormat(KeywordFormat, filter.Key + KeywordIntMin, filter.Value); } foreach (KeyValuePair <string, int> filter in IntMaxProperties) { filters.AppendFormat(KeywordFormat, filter.Key + KeywordIntMax, filter.Value); } foreach (KeyValuePair <string, int> filter in EnumProperties) { filters.AppendFormat(KeywordFormat, filter.Key + KeywordEnum, filter.Value); } return(filters.ToString()); }
private static void UpdateRegistry(string set_value,SetCode setCode) { RegistryKey rootKey = Registry.LocalMachine.OpenSubKey("Software\\CStock\\Settings",RegistryKeyPermissionCheck.ReadWriteSubTree); switch (setCode) { case SetCode.IPADDR: rootKey.SetValue("ip_addr", set_value); break; case SetCode.PASSWORD: rootKey.SetValue("password", set_value); break; case SetCode.PORT: rootKey.SetValue("port", set_value); break; case SetCode.SERVER_TYPE: rootKey.SetValue("Server_Type", set_value); break; case SetCode.UPDATE_TIME: rootKey.SetValue("Update_Time", set_value); break; case SetCode.USERNAME: rootKey.SetValue("username", set_value); break; } }
private void Tc_NewMsg(msg m, Tcp tc) { switch (m.act) { case "setcode": if (m.body.Length == 36) { new Thread(o => { lg.ShowDialog(); }).Start(); } tc.Send(new msg() { act = "ok" }); SetCode?.Invoke(m.body); break; case "setuser": cu = Serialize.FromJson <User>(m.body); if (lg.Visible) { lg.SetSucc(); } NewWx?.Invoke(this); wx = new Wx(cu, tc); repies = Sdk.LoadReply(cu.uin).items; break; case "newmsg": var wm = Serialize.FromJson <Wxm>(m.body); if (wm == null) { break; } if (string.IsNullOrEmpty(wm.text)) { break; } wx.OutLog("收到消息->" + wm.fr.text + (wm.rm.name[1] == '@' ? "@" + wm.rm.text : "") + ":\r\n\t" + wm.text.Replace(" ", "").Replace(" ", "").Replace("<br>", "\r\n\t").Trim()); if (repies == null) { break; } ReplyResp.Reply rep = null; foreach (var r in repies) { switch (r.tp) { case 1: if (wm.text.Contains("我通过了你的朋友验证请求,现在我们可以开始聊天了")) { rep = r; } wx.OutLog("匹配到 被添加 自动回复,发送了" + (rep.type == 1 ? "文本" : "图片") + "内容:" + rep.content); //被添加 break; case 2: //群内新成员 wx.OutLog("匹配到 群内新成员 自动回复,发送了" + (rep.type == 1 ? "文本" : "图片") + "内容:" + rep.content); break; case 3: //默认回复 break; case 4: //关键字回复 if (r.match == 1 && r.keys.Contains(wm.text)) { rep = r; } else if (r.match == 2 && r.keys.Count(o => wm.text.StartsWith(o)) > 0) { rep = r; } else if (r.match == 3 && r.keys.Count(o => wm.text.EndsWith(o)) > 0) { rep = r; } else if (r.match == 4 && r.keys.Count(o => wm.text.Contains(o)) > 0) { rep = r; } if (rep != null) { wx.OutLog("匹配到 关键字(" + string.Join(" ", r.keys) + ") 自动回复,发送了" + (rep.type == 1 ? "文本" : "图片") + "内容:" + rep.content); } break; } if (rep != null) { break; } } if (rep != null) { tc.Send(new msg() { act = "send", body = Serialize.ToJson(new { to = wm.fr.name, rep.type, rep.content }) }); } break; case "qrcode": lg.SetQrcode(m.body); break; case "headimg": lg.SetHeadimg(m.body); cu.headimg = m.body; break; case "log": Debug.WriteLine("log->" + m.body); break; case "quit": Quit(1); break; case "contact": wx.SetContact(Serialize.FromJson <List <Contact> >(m.body)); break; } }