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); }