public async Task <ActionResult <IEnumerable <ResultsListVm> > > GetResultsList(int numResultsToFetch) { var query = new GetResultsListQuery(numResultsToFetch); var results = await _mediator.Send(query); return(Ok(results)); }
public async Task Consume(ConsumeContext <CaseNumbersPublishedEvent> context) { var command = _mapper.Map <CreateCaseNumbersCommand>(context.Message); await _mediator.Send(command); _logger.LogInformation($"CaseNumbersPublishedEvent consumed successfully for case numbers of {context.Message.Date.ToString("dd/MM/yyyy")}"); //get latest results for messaging service var query = new GetResultsListQuery(1); var results = await _mediator.Send(query); var latestResult = results.FirstOrDefault(); if (latestResult == null) { return; } string guessesForDayText = ""; foreach (var guess in latestResult.Guesses) { guessesForDayText += $"{guess.Key}: {guess.Value}\n"; } string messageText = $"KovidR results for {latestResult.Date.ToString("dd/MM/yyyy")}:\n\n{guessesForDayText}\nTotal Cases: {latestResult.CaseNumbers}\nWinner: {latestResult.Winner}"; var recipients = new List <string>() { "group.ZHdyS2drWmMxMENxeGlaTGZVckg0bXpNL1hFZ3hQVjZEc2ZXNjFMSHkwdz0=" }; var message = new Message() { Recipients = recipients, MessageText = messageText }; await _messageService.SendMessage(message); }