Exemple #1
0
        private void OnConnectionStateChanged(object sender, ConnectionStateChangedEventArgs e)
        {
            string userState = e.IsConnected ? "connected." : "disconnected.";
            string message   = $"{e.Username} {userState}.";

            if (e.IsConnected)
            {
                var messageHistory = _requestHander.GetGroupMessages(e.Username);
                var users          = _requestHander.GetUsers();
                var groups         = _requestHander.GetGroups(e.Username);

                _wsServer.Send(String.Empty, e.Username, new MessageHistoryResponse(messageHistory).GetContainer());
                _wsServer.Send(String.Empty, e.Username, new UserListResponse(users).GetContainer());
                _wsServer.Send(String.Empty, e.Username, new GroupListResponse(groups).GetContainer());
            }

            _requestHander.AddEvent(EventType.Event, message, e.Date);

            Console.WriteLine($"{DateTime.Now} - {message}");

            _wsServer.Send(e.Username, String.Empty, new MessageBroadcast(e.Username, String.Empty, userState, String.Empty, DateTime.Now).GetContainer());
        }