public async Task <string> Dequeue(string queue, User user) { Message result = await messageRepository.GetFirstMessage(queue, user.Id); if (result != null) { await messageRepository.RemoveMessage(result.Id); } return(result != null ? result.Payload : null); }