public DeviceListDtoClient Enqueue(EnqueueMessagesDtoClient enqueueMessages) { return(new DeviceListDtoClient { DeviceIds = _persistentStorage.Enqueue(enqueueMessages.Messages.ConvertAll(m => new EnqueueItem { DeviceId = m.DeviceId, Payload = m.Payload, Timestamp = m.TimeStamp, SenderDeviceId = m.SenderDeviceId })).Select(r => r.Id).ToList() }); }
public DeviceListDto Enqueue(EnqueueMessagesDto messages) { EnsureSingleDevice(messages.Messages.Select(m => m.DeviceId)); var enqueueItems = ItemConverters.ToEnqueueItemList(messages); var deviceEntries = _persistentStorage.Enqueue(enqueueItems); var cacheItems = ItemConverters.ToCacheItems(deviceEntries, enqueueItems); _messageCache.Put(cacheItems); DeviceEntryRegistry.Instance.Merge(deviceEntries); return(ItemConverters.ToDeviceListDto(deviceEntries)); }