public TGISearchThread(Control control, Criteria criteria, AddCallBack addCB, MainForm.updateProgressCallback updateProgressCB, stopSearchCallback stopSearchCB, searchCompleteCallback searchCompleteCB) { this.control = control; this.criteria = criteria; this.addCB = addCB; this.updateProgressCB = updateProgressCB; this.stopSearchCB = stopSearchCB; this.searchCompleteCB = searchCompleteCB; }
public void Add(ExecutionNode aNode) { if (TreeView != null && TreeView.InvokeRequired) { AddCallBack d = new AddCallBack(Add); TreeView.Invoke(d, new object[] { aNode }); } else { Nodes.Add(aNode); aNode.Parent = this; } }
public SearchThread(SearchForm form, IPackage pkg, Predicate <IResourceIndexEntry> match, byte[] pattern, AddCallBack addCB, updateProgressCallback updateProgressCB, stopSearchCallback stopSearchCB, searchCompleteCallback searchCompleteCB) { this.form = form; this.pkg = pkg; this.match = match; this.pattern = (byte[])pattern.Clone(); this.addCB = addCB; this.updateProgressCB = updateProgressCB; this.stopSearchCB = stopSearchCB; this.searchCompleteCB = searchCompleteCB; }
//好友申请确认,向申请者发送申请结果,并更新双方列表 public AddCallBack AddComfirm(AddConfirmCallBack callBack) { AddCallBack call = null; using (var model = new Data.DataModel()) { var s = model.addfriends.Where(p => p.SenderId.Equals(callBack.SenderId) && p.ReceiverId.Equals(callBack.ReceiveId)).Select(p => p).FirstOrDefault(); //将好友申请操作列表里的所有两方的操作状态全部改成与申请返回的值一样的 s.Status = callBack.status.ToString(); model.Entry(s).State = System.Data.Entity.EntityState.Modified; if (callBack.status.ToString() == Status.Agree.ToString()) { friend f1 = new friend { UserId = callBack.SenderId, FriendId = callBack.ReceiveId }; friend f2 = new friend { UserId = callBack.ReceiveId, FriendId = callBack.SenderId }; model.friends.Add(f1); model.friends.Add(f2); //call.status = Status.Yes; var sender = model.users.Where(p => p.UserId.Equals(callBack.SenderId)).FirstOrDefault(); var senderPre = model.presenceusers.Where(p => p.UserId.Equals(callBack.SenderId)).FirstOrDefault(); var receiver = model.users.Where(p => p.UserId.Equals(callBack.ReceiveId)).FirstOrDefault(); var receiverPre = model.presenceusers.Where(p => p.UserId.Equals(callBack.ReceiveId)).FirstOrDefault(); call = new AddCallBack { Sender = new User { UserId = sender.UserId, UserName = sender.UserName, ip = "127.0.0.1", IsOnline = Status.Offline }, Receiver = new User { UserId = receiver.UserId, UserName = receiver.UserName, ip = "127.0.0.1", IsOnline = Status.Offline }, status = Status.Yes }; if (senderPre != null) { call.Sender.ip = senderPre.IPAddress; call.Sender.IsOnline = Status.Online; } if (receiverPre != null) { call.Receiver.ip = receiverPre.IPAddress; call.Receiver.IsOnline = Status.Online; } } var a = model.SaveChanges(); return(call); } }
public FillThread(Control objectChooser, CatalogType resourceType , AddCallBack createListViewItemCB , MainForm.updateProgressCallback updateProgressCB , stopFillingCallback stopFillingCB , fillingCompleteCallback fillingCompleteCB ) { this.control = objectChooser; this.resourceType = resourceType; this.addCB = createListViewItemCB; this.updateProgressCB = updateProgressCB; this.stopFillingCB = stopFillingCB; this.fillingCompleteCB = fillingCompleteCB; }
public void safeAdd(string content) { if (this.txtLog.InvokeRequired) { AddCallBack d = new AddCallBack(safeAdd); this.Invoke(d, new object[] { content }); } else { if (this.txtLog.Lines.Length > 100) { this.txtLog.Clear(); } this.txtLog.AppendText(content + "\r\n"); } }
public SearchThread(Search searchPane, AddCallBack addCB, MainForm.updateProgressCallback updateProgressCB, stopSearchCallback stopSearchCB, searchCompleteCallback searchCompleteCB) { this.control = searchPane; this.criteria.text = searchPane.tbText.Text.Trim().ToLowerInvariant(); this.criteria.resourceName = searchPane.ckbResourceName.Checked; this.criteria.objectName = searchPane.ckbObjectName.Checked; this.criteria.objectDesc = searchPane.ckbObjectDesc.Checked; this.criteria.catalogName = searchPane.ckbCatalogName.Checked; this.criteria.catalogDesc = searchPane.ckbCatalogDesc.Checked; this.criteria.allLanguages = !searchPane.rb1English.Checked; this.criteria.allLanguages = searchPane.rb1All.Checked; this.criteria.catalogType = searchPane.SelectedCatalogType; this.addCB = addCB; this.updateProgressCB = updateProgressCB; this.stopSearchCB = stopSearchCB; this.searchCompleteCB = searchCompleteCB; }
public void Update(object sender, AddCallBack callBack) { if (callBack.Sender.IsOnline == Status.Online) { var receiver = users.Where(p => p.UserId.Equals(callBack.Receiver.UserId)).FirstOrDefault(); if (receiver.helper != null) { receiver.helper.SendMessage(string.Format("ADDCALLBACK@{0}", DataHelpers.XMLSer <User>(callBack.Sender))); } } if (callBack.Receiver.IsOnline == Status.Online) { var user = users.Where(p => p.UserId.Equals(callBack.Sender.UserId)).FirstOrDefault(); if (user.helper != null) { user.helper.SendMessage(string.Format("ADDCALLBACK@{0}", DataHelpers.XMLSer <User>(callBack.Receiver))); } } }
public void AddCallBack(AddCallBack callBack) { return; }
public SearchThread(SearchForm form, IPackage pkg, Predicate<IResourceIndexEntry> match, byte[] pattern, AddCallBack addCB, updateProgressCallback updateProgressCB, stopSearchCallback stopSearchCB, searchCompleteCallback searchCompleteCB) { this.form = form; this.pkg = pkg; this.match = match; this.pattern = (byte[])pattern.Clone(); this.addCB = addCB; this.updateProgressCB = updateProgressCB; this.stopSearchCB = stopSearchCB; this.searchCompleteCB = searchCompleteCB; }
public static void Handle(object sender, string data) { ServerHandle server = new ServerHandle(); IServerHandle ish = (IServerHandle)server; TCPHelper helper = (TCPHelper)sender; string[] d = Data_Init(data); switch (d[0]) { case "LOGIN": LoginContract login = null; try { login = WTalk.Helpers.DataHelpers.DeXMLSer <LoginContract>(d[1]); } catch { } LoginCallBack callBack = ish.Login(helper.tcpClient, login); if (ShowOnServerWindow != null) { if (callBack.LoginStatus == Status.Yes) { UserArgs args = new UserArgs { IP = helper.tcpClient.Client.RemoteEndPoint.ToString(), Id = login.UserId }; string log = string.Format("{0}-->Login Success", helper.tcpClient.Client.RemoteEndPoint.ToString()); ShowOnServerWindow(null, log); if (LoginHandler != null) { LoginHandler(null, args); } } else { string log = string.Format("{0}-->Login Fail", helper.tcpClient.Client.RemoteEndPoint.ToString()); ShowOnServerWindow(null, log); } } string msg = string.Format("LOGINCALLBACK@{0}", WTalk.Helpers.DataHelpers.XMLSer <LoginCallBack>(callBack)); helper.SendMessage(msg); break; case "SIGNUP": SignupContract signup = null; try { signup = DataHelpers.DeXMLSer <SignupContract>(d[1]); } catch { } SignUpCallBack signUpCallBack = ish.Signup(signup); if (ShowOnServerWindow != null) { string log = string.Format("{0}-->Signup:{1}", helper.tcpClient.Client.RemoteEndPoint.ToString(), signUpCallBack.MoreMsg); //if (callBack.LoginStatus == Status.Yes) //{ // string log = string.Format("{0}-->Signup", helper.tcpClient.Client.RemoteEndPoint.ToString()); // ShowOnServerWindow(null, log); //} //else //{ // string log = string.Format("{0}-->Login Fail", helper.tcpClient.Client.RemoteEndPoint.ToString()); // ShowOnServerWindow(null, log); //} ShowOnServerWindow(null, log); } helper.SendMessage(string.Format("SIGNUPCALLBACK@{0}", DataHelpers.XMLSer <SignUpCallBack>(signUpCallBack))); break; case "LOGOUT": //string logoutlog = string.Format("{0}-->登出", helper.tcpClient.Client.RemoteEndPoint.ToString()); //if(ShowOnServerWindow != null) //{ // ShowOnServerWindow(null, logoutlog); //} break; case "SEARCH": SearchContract search = null; try { search = DataHelpers.DeXMLSer <SearchContract>(d[1]); SearchCallBack back = ish.Search(search); helper.SendMessage(string.Format("SEARCHCALLBACK@{0}", DataHelpers.XMLSer <SearchCallBack>(back))); } catch { } break; case "ADD": AddContract add = null; try { add = DataHelpers.DeXMLSer <AddContract>(d[1]); AddComfirmArgs args = ish.Add(add); if (args.IP != "Offline") { AddHandler(null, args); } } catch { break; } break; case "REMOVE": RemoveContract remove = null; try { remove = DataHelpers.DeXMLSer <RemoveContract>(d[1]); ish.RemoveFriends(remove); if (RemoveFriendHandler != null) { RemoveFriendHandler(null, remove); } } catch (Exception e) { throw e; } break; case "TALK": TalkContract talk = new TalkContract(); try { talk = DataHelpers.DeXMLSer <TalkContract>(d[1]); if (TalkHandler != null) { TalkHandler(null, talk); } } catch { } break; case "ADDCONFIRMCALLBACK": AddConfirmCallBack accb = null; AddCallBack addCallBack = null; try { accb = DataHelpers.DeXMLSer <AddConfirmCallBack>(d[1]); addCallBack = ish.AddComfirm(accb); if (UpdateFriendListHandler != null) { UpdateFriendListHandler(null, addCallBack); } } catch { break; } break; default: break; } }