Beispiel #1
0
        /// <summary>
        /// QQ登录.如果登录成功,返回更新后的Person,如果失败,就返回null.
        /// <para>注意,该函数将显示登录对话框.</para>
        /// </summary>
        /// <param name="person"></param>
        /// <returns></returns>
        public Person Login(Person person)
        {
            try
            {
                FrmLogin login = new FrmLogin(person);
                if (login.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    string qq = login.WebQQ.MyQQNumber;
                    if (!_QQMap.ContainsKey(qq))
                    {
                        _QQMap.Add(qq, login.WebQQ);
                        login.WebQQ.ReciveMessage += new EventHandler <QQMessageEventArgs>(WebQQ_ReciveMessage);
                    }
                    else
                    {
                        _QQMap[qq] = login.WebQQ;
                    }
                    //保存QQ用户消息.
                    if (login.QQPerson.IsRecord)
                    {
                        _PersonList.AddOrUpdate(login.QQPerson);
                    }

                    GetFriendTask(qq);
                }
                return(login.QQPerson);
            }
            catch (Exception ex)
            {
                Loger.WriteLog(ex);
            }
            return(null);
        }