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