⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contactnotifywindowmanager.cs

📁 飞信的收发使用csharp进行开发
💻 CS
📖 第 1 页 / 共 2 页
字号:
        {
            Contact c = e.Contact;
            if ((c is MobileBuddy) && (c.RelationStatus == 1))
            {
                this.AgreeMobileBuddyEventArgsCol.Add(e);
                this.handleArgeeMobileBuddy();
            }
            else if ((c.RelationStatus == 1) || (c.RelationStatus == 2))
            {
                NotifyWindowAddBuddyResult wnd = new NotifyWindowAddBuddyResult(c, e.IsByMobileNo, null);
                wnd.ContentClick += delegate {
                    this._iFrameworkWindow.ConversationManager.StartConversation(this._iFrameworkWindow as Form, ConversationOperation.ImChat, new string[] { c.Uri.Raw });
                    wnd.Close();
                };
                NotifyWindowManager.Add(wnd);
            }
        }

        public void ShowWindow()
        {
            if (this._owner.Status == UserAccountStatus.Logon)
            {
                if (this._addBuddyRequestCol != null)
                {
                    GlobalTimer.Register(new EventHandler(this.addBuddyApplication_onTick), 30);
                }
                if (this._addBuddyResultEventArgsCol != null)
                {
                    for (int i = this.AddBuddyResultEventArgsCol.Count - 1; i >= 0; i--)
                    {
                        this.showNotifyWnd_AddBuddyResult(this.AddBuddyResultEventArgsCol[i]);
                        this.AddBuddyResultEventArgsCol.Remove(this.AddBuddyResultEventArgsCol[i]);
                    }
                }
            }
        }

        private void showWindows_AddBuddy(Contact c, string desc, bool isByMobileNo)
        {
            FormClosedEventHandler handler = null;
            FormClosedEventHandler handler2 = null;
            FormClosedEventHandler handler3 = null;
            NotifyWindowAddBuddyRequest n;
            if (!c.Uri.IsVodafoneUri)
            {
                if (isByMobileNo)
                {
                    ReceiveRequestByMobileNoForm form = new ReceiveRequestByMobileNoForm(this._iFrameworkWindow, c, desc);
                    form.WindowState = FormWindowState.Minimized;
                    if (handler == null)
                    {
                        handler = delegate (object sender, FormClosedEventArgs e) {
                            this.AddBuddyRequestProposerCol.Remove(c);
                            this.ShowWindow();
                        };
                    }
                    form.FormClosed += handler;
                    form.Show(this._iFrameworkWindow as Form);
                    ControlHelper.FlashWindow(form);
                    n = new NotifyWindowAddBuddyRequest(c, desc, c.PersonalInfo.MobileNo, null);
                    n.ContentClick += delegate {
                        form.Activate();
                        form.WindowState = FormWindowState.Normal;
                        n.Close();
                    };
                }
                else
                {
                    ReceiveRequestBySIDForm form = new ReceiveRequestBySIDForm(this._iFrameworkWindow, c, desc);
                    form.WindowState = FormWindowState.Minimized;
                    if (handler2 == null)
                    {
                        handler2 = delegate (object sender, FormClosedEventArgs e) {
                            this.AddBuddyRequestProposerCol.Remove(c);
                            this.ShowWindow();
                        };
                    }
                    form.FormClosed += handler2;
                    form.Show(this._iFrameworkWindow as Form);
                    ControlHelper.FlashWindow(form);
                    n = new NotifyWindowAddBuddyRequest(c, desc, null, null);
                    n.ContentClick += delegate {
                        form.Activate();
                        form.WindowState = FormWindowState.Normal;
                        n.Close();
                    };
                }
            }
            else
            {
                ReceiveRequestVodafoneForm form = new ReceiveRequestVodafoneForm(this._iFrameworkWindow, c);
                form.WindowState = FormWindowState.Minimized;
                if (handler3 == null)
                {
                    handler3 = delegate (object sender, FormClosedEventArgs e) {
                        this.AddBuddyRequestProposerCol.Remove(c);
                    };
                }
                form.FormClosed += handler3;
                form.Show(this._iFrameworkWindow as Form);
                ControlHelper.FlashWindow(form);
                n = new NotifyWindowAddBuddyRequest(c, desc, null, null);
                n.ContentClick += delegate {
                    form.Activate();
                    form.WindowState = FormWindowState.Normal;
                    n.Close();
                };
            }
            NotifyWindowManager.Add(n);
            if (c.Type == ContactType.Stranger)
            {
                ((Stranger) c).CanDispose = true;
            }
        }

        private List<AddBuddyRequest> AddBuddyRequestCol
        {
            get
            {
                if (this._addBuddyRequestCol == null)
                {
                    return (this._addBuddyRequestCol = new List<AddBuddyRequest>());
                }
                return this._addBuddyRequestCol;
            }
        }

        private List<Contact> AddBuddyRequestProposerCol
        {
            get
            {
                if (this._addBuddyRequestProposerCol == null)
                {
                    return (this._addBuddyRequestProposerCol = new List<Contact>());
                }
                return this._addBuddyRequestProposerCol;
            }
        }

        private List<AddBuddyResultEventArgs> AddBuddyResultEventArgsCol
        {
            get
            {
                if (this._addBuddyResultEventArgsCol == null)
                {
                    return (this._addBuddyResultEventArgsCol = new List<AddBuddyResultEventArgs>());
                }
                return this._addBuddyResultEventArgsCol;
            }
        }

        private List<AddBuddyResultEventArgs> AgreeMobileBuddyEventArgsCol
        {
            get
            {
                if (this._agreeMobileBuddyEventArgsCol == null)
                {
                    return (this._agreeMobileBuddyEventArgsCol = new List<AddBuddyResultEventArgs>());
                }
                return this._agreeMobileBuddyEventArgsCol;
            }
        }

        internal class AddBuddyRequest
        {
            private Imps.Client.Core.Contact _contact;
            private string _desc;
            private bool _isByMobileNo;

            public AddBuddyRequest(Imps.Client.Core.Contact c, string desc, bool isByMobileNo)
            {
                this._contact = c;
                this._desc = desc;
                this._isByMobileNo = isByMobileNo;
            }

            public Imps.Client.Core.Contact Contact
            {
                get
                {
                    return this._contact;
                }
                set
                {
                    this._contact = value;
                }
            }

            public string Desc
            {
                get
                {
                    return this._desc;
                }
                set
                {
                    this._desc = value;
                }
            }

            public bool IsByMobileNo
            {
                get
                {
                    return this._isByMobileNo;
                }
                set
                {
                    this._isByMobileNo = value;
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -