Exemple #1
0
        void mainView_ChangeContactGroupEvent(string contact, string newgroup)
        {
            if (!(currentState is StateIdle))
                return;
            AMessageData messageData = new AddContactMessageData(this.currentUserName, newgroup, contact);
            Common.Protocol.Message changeContactGroupMessage = new Common.Protocol.Message(new MessageHeader(Common.ServiceTypes.ADD_CONTACT), messageData);
            outputMessageQueue.Enqueue(changeContactGroupMessage);

            foreach(KeyValuePair<string,IList<UserListEntry>> pair in ((StateIdle)currentState).ContactsByGroups)
            {
                if (pair.Key == newgroup)
                    continue;
                foreach (UserListEntry entry in pair.Value)
                {
                    if (entry.UserName == contact)
                    {
                        pair.Value.Remove(entry);
                        ((StateIdle)currentState).ContactsByGroups[newgroup].Add(entry);
                        return;
                    }
                }
            }
        }
Exemple #2
0
 void mainView_AddContactEvent(string uname, string group)
 {
     if (!(currentState is StateIdle))
         return;
     if (AState.CheckIfContactExists(uname,((StateIdle)currentState).ContactsByGroups))
     {
         ErrorHandler.HandleError("Contact already in contacts list!", "Error", (IWin32Window)mainView);
         return;
     }
     AMessageData messageData = new AddContactMessageData(this.currentUserName, group, uname);
     Common.Protocol.Message addContactMessage = new Common.Protocol.Message(new MessageHeader(Common.ServiceTypes.ADD_CONTACT), messageData);
     this.outputMessageQueue.Enqueue(addContactMessage);
     ((StateIdle)currentState).ContactsByGroups[group].Add(new UserListEntry(uname));
     mainView.AddContact(uname, group);
     if (fileTransferView != null && ((StateIdle)currentState).OnlineContacts.ContainsKey(uname))
     {
         fileTransferView.AddContact(uname);
     }
 }