Exemplo n.º 1
0
        //Обработка отправки сообщений
        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);
        }