コード例 #1
0
 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;
 }
コード例 #2
0
 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;
       }
 }
コード例 #3
0
ファイル: SearchForm.cs プロジェクト: yalaier/Sims4Tools
 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;
 }
コード例 #4
0
ファイル: ServerHandle.cs プロジェクト: FFFirer/WTalk.v.2.0
        //好友申请确认,向申请者发送申请结果,并更新双方列表
        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);
            }
        }
コード例 #5
0
 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;
 }
コード例 #6
0
 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");
     }
 }
コード例 #7
0
ファイル: Search.cs プロジェクト: yakoder/sims3tools
 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;
 }
コード例 #8
0
 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)));
         }
     }
 }
コード例 #9
0
ファイル: Search.cs プロジェクト: dd-dk/sims3tools
 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;
 }
コード例 #10
0
ファイル: ClientHandle.cs プロジェクト: FFFirer/WTalk.v.2.0
 public void AddCallBack(AddCallBack callBack)
 {
     return;
 }
コード例 #11
0
ファイル: ObjectChooser.cs プロジェクト: dd-dk/sims3tools
 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;
 }
コード例 #12
0
ファイル: SearchForm.cs プロジェクト: dwalternatio/Sims4Tools
 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;
 }
コード例 #13
0
        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;
            }
        }
コード例 #14
0
ファイル: TGISearch.cs プロジェクト: dd-dk/sims3tools
 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;
 }