public MarkMessageAsSeenResponse MarkMessageAsSeen(ISession session, MarkMessageAsSeenRequest request) { foreach (var messageId in request.MessagesSeen) { Logger.Debug("MarkMessageAsSeen msgToken={0} from={1} to={2}", messageId.ToString().Cut(), session.DeviceId.Cut(), request.MessagesAuthor); foreach (var deviceId in _devicesRepository.GetDevices(request.MessagesAuthor)) { _seenStatusEventManager.DeliverEventToDevice(new SeenNotification { MessageToken = messageId, ReceiverDeviceId = deviceId }); } } return(request.CreateResponse <MarkMessageAsSeenResponse>()); }
public Task <MarkMessageAsSeenResponse> MarkMessageAsSeen(MarkMessageAsSeenRequest request) { return(_connectionManager.SendRequestAndWaitResponse <MarkMessageAsSeenResponse>(request)); }