Example #1
0
        /// <summary>
        /// Cài đặt thông tin user
        /// </summary>
        /// <param name="UserID">ID của user</param>
        public void Init(int UserID)
        {
            userId = UserID;

            groupFriend = FriendList(userId);                                   //Lấy danh sách bạn bè trên CSDL
            List <Users> Requests           = FriendRequests(userId);           //Lấy các yêu cầu kết bạn trên CSDL
            List <Users> UnresponseRequests = UnresponseFriendRequests(userId); //Lấy các yêu cầu kết bạn đang đợi phản hồi trên CSDL

            //CÁC CÀI ĐẶT CHO CÁC MODULE
            changeAvatarModule.ChangeAvatarFor(userId);

            addFriendModule = new AddFriend.AddFriend();
            addFriendModule.SetUser(userId);
            addFriendModule.SetGroups(GroupFriend.FriendGroups);
            addFriendModule.OnAddFriendSuccess += new AddFriend.AddFriend.AddingHandler(AddFriendModule_OnAddFriendSuccess);
            addFriendModule.OnAddFriendError   += new AddFriend.AddFriend.AddingHandler(AddFriendModule_OnAddFriendError);

            removeGroupModule = new Module.RemoveGroup.RemoveGroup();
            removeGroupModule.SetUser(userId);
            removeGroupModule.SetGroups(GroupFriend.FriendGroups);
            removeGroupModule.IntegratedWith(this);

            contactViewerModule = new ContactViewer.ContactViewer();

            groupTree = new GroupTreeViewModel(GroupFriend.FriendGroups);
            groupTree.OnMoveContact   += new GroupTreeViewModel.FriendHandler(GroupTree_OnMoveContact);
            groupTree.OnRemoveContact += new GroupTreeViewModel.FriendHandler(GroupTree_OnRemoveContact);

            requestVM = new RequestViewModel(Requests);
            requestVM.OnAcceptRequest += new RequestViewModel.RequestHandler(RequestVM_OnAcceptRequest);
            requestVM.OnIgnoreRequest += new RequestViewModel.RequestHandler(RequestVM_OnIgnoreRequest);

            unrespRequestVM = new RequestViewModel(UnresponseRequests);

            //Gửi yêu cầu kiểm tra trạng thái online/offline của bạn bè
            foreach (FriendGroup group in GroupFriend.FriendGroups)
            {
                foreach (Users friend in group.Friends)
                {
                    this.Get <Client>().SendCommand(Core.Data.CommandType.CheckOnline, "SERVER", friend.Username);
                }
            }

            this.DataContext = this;

            //Khởi tạo đối tượng dùng để cập nhập liên tục các yêu cầu kết bạn mới và những yêu cầu kết bạn đang chờ phản hồi đã được chấp nhận

            updateRequest          = new DispatcherTimer();
            updateRequest.Interval = TimeSpan.FromMilliseconds(1000);
            updateRequest.Tick    += new EventHandler(UpdateRequest_Tick);

            updateUnresponseRequest          = new DispatcherTimer();
            updateUnresponseRequest.Interval = TimeSpan.FromMilliseconds(1000);
            updateUnresponseRequest.Tick    += new EventHandler(UpdateUnresponseRequest_Tick);

            updateRequest.Start();
            updateUnresponseRequest.Start();
        }
Example #2
0
        /// <summary>
        /// Xóa yêu cầu
        /// </summary>
        /// <param name="Friend">Đối tượng chứa yêu cầu</param>
        public void RemoveRequest(Users Friend)
        {
            if (Friend == null)
            {
                return;
            }

            RequestViewModel MatchRequest = requests.FirstOrDefault(r => r.Friend.Equals(Friend)); //Tìm đối tượng RequestViewModel chứa yêu cầu được chỉ định

            if (MatchRequest != null)
            {
                requests.Remove(MatchRequest);
            }
        }
Example #3
0
 public IgnoreTask(RequestViewModel RequestVM)
 {
     _RequestVM = RequestVM;
 }
Example #4
0
 public AcceptTask(RequestViewModel RequestVM)
 {
     _RequestVM = RequestVM;
 }