コード例 #1
0
        private void HandleConnectionStateChanged(object sender, ConnectionStateChangedEventArgs e)
        {
            string clientState = e.IsConnected ? "подключен" : "отключен";
            string message     = $"{e.Client} {clientState}.";

            if (e.IsConnected)
            {
                var chatHistory = _txtMsgService.GetClientMessages(e.Client);
                var clients     = _clientService.GetClients();
                var groups      = _groupService.GetGroups(e.Client);

                _wsServer.Send(String.Empty, e.Client, new ChatHistoryResponse(chatHistory).GetContainer());
                _wsServer.Send(String.Empty, e.Client, new ClientsListResponse(clients).GetContainer());
                _wsServer.Send(String.Empty, e.Client, new GroupsListResponse(groups).GetContainer());
            }

            _clientEventService.AddClientEvent(MessageType.Event, message, e.Date);

            Console.WriteLine($"{message}");

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