Exemplo n.º 1
0
        public ChatWindow(ClientServerMiddleman clientToServerMiddleman, string username)
        {
            InitializeComponent();

            _clientServerMiddleman = clientToServerMiddleman;
            clientToServerMiddleman.ConnectToChat(username);
            _username = username;

            var usersNames = clientToServerMiddleman.GetCurrentUsers()
                             .Select(x => new UserView {
                Name = x, Color = GetNextBrushFromColorCollection()
            })
                             .OrderBy(x => x.Name)
                             .ToList();

            usersNames.Where(x => x.Name == username).First().FontWeight = "Bold";

            ListBoxUsers.ItemsSource = usersNames.OrderBy(x => x.Name)
                                       .OrderByDescending(x => x.Name == _username).ToList();

            new Thread(() => clientToServerMiddleman.ReceiveFromServerAndCallbackOnSpecifiedDelegates(ReceiveIncomingChatMessage,
                                                                                                      ReceiveUserConnectedToChatNotification,
                                                                                                      ReceiveUserDisconnectedFromChatNotification))
            .Start();
        }