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