public async Task <IActionResult> Acknowledge([FromRoute] string username, [FromRoute] int id)
        {
            Tracker.Conversations.TryGetValue(username, out var conversation);

            if (conversation == default || !conversation.Any(p => p.Id == id))
            {
                return(NotFound());
            }

            await Client.AcknowledgePrivateMessageAsync(id);

            return(StatusCode(200));
        }
Exemple #2
0
        public async Task <IActionResult> AcknowledgeAll([FromRoute] string username)
        {
            Tracker.Conversations.TryGetValue(username, out var conversation);

            if (conversation == default)
            {
                return(NotFound());
            }

            var tasks = new List <Task>();

            foreach (var message in conversation.Where(p => !p.Acknowledged))
            {
                tasks.Add(Task.Run(async() => {
                    await Client.AcknowledgePrivateMessageAsync(message.Id);
                    message.Acknowledged = true;
                }));
            }

            await Task.WhenAll(tasks);

            return(StatusCode(200));
        }