//Обработка отправки сообщений public void Message(Message Msg) { //Подключение отправителя ICallbackMessage Connection = OperationContext.Current.GetCallbackChannel <ICallbackMessage>(); //Если отправитель не подключен if (!ConnectedUsers.TryGetValue(Connection, out ChatUser Sender)) { return; } //Установка идентификатора отправителя к сообщению Msg.SenderID = Sender.ID; //Установка даты отправки Msg.SendDate = DateTime.Now; //Определение подключения получателя ICallbackMessage Receiver = ConnectedUsers.FirstOrDefault(x => x.Value.ID == Msg.ReceiverID).Key; //Отправка сообщения получателю если он подключен if (Receiver != null) { Receiver.GetMessage(Msg); } //Добавление сообщения в общий список Messages.Add(Msg); }