private void LoadProjectCollections()
        {
            try
            {
                foreach (var pc in TfsServiceWrapper.GetProjectCollections())
                {
                    Collections.Add(pc);
                }
                var settings = TeamRoomWindowCommand.Instance.LoadUserSettings();

                if (settings.ProjectCollectionUri != null &&
                    Collections.Select(x => x.Uri).Contains(settings.ProjectCollectionUri))
                {
                    projectCollectionUri = settings.ProjectCollectionUri;
                    savedteamRoomId      = settings.TeamRoomId;

                    if (projectCollectionUri != null && Collections.Select(x => x.Uri).Contains(projectCollectionUri))
                    {
                        foreach (RegisteredProjectCollection item in cmbCollectionList.Items)
                        {
                            if (item.Uri == projectCollectionUri)
                            {
                                cmbCollectionList.SelectedIndex = cmbCollectionList.Items.IndexOf(item);
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private void SignIntoRoom(int oldRoomId, int newRoomId)
 {
     if (oldRoomId != 0)
     {
         TfsServiceWrapper.SignIntoRoom(projectCollectionUri, oldRoomId, false);
     }
     TfsServiceWrapper.SignIntoRoom(projectCollectionUri, newRoomId, true);
 }
        // Post a new message.  Set the MessagesWacther timeout periof to 0 so its starts polling at minimal intervals again.
        private void PostMessage()
        {
            try
            {
                if (txtMessage.Text.Trim(' ') == "")
                {
                    return;
                }

                if (teamRoom != null && projectCollectionUri != null)
                {
                    var msg = TfsServiceWrapper.PostMessage(projectCollectionUri, teamRoom.Id, txtMessage.Text);
                    //var msg = new Message() { Content = txtMessage.Text, PostedTime= DateTime.UtcNow };
                    txtMessage.Text = "";
                    Messages.Add(msg);
                    TfsMonitor.Instance.PollNow();
                }
            }
            catch (Exception ex)
            {
            }
        }
        private void LoadRoomUsers(TeamRoomUsers roomUsers)
        {
            if ((teamRoom != null && roomUsers.RoomId != teamRoom.Id) || roomUsers.ConnectionUri != projectCollectionUri)
            {
                return;
            }

            RoomUsers.Clear();

            if (roomUsers.Users != null)
            {
                foreach (var item in roomUsers.Users.Where(x => x.IsOnline))
                {
                    if (!UserWorker.Instance.ProfileImages.ContainsKey(item.UserRef.Id))
                    {
                        var profileImages = TfsServiceWrapper.GetUserProfileImages(new List <IdentityRef> {
                            item.UserRef
                        });
                        UserWorker.Instance.GetProfiles(profileImages);
                    }
                    RoomUsers.Add(item);
                }
            }
        }