コード例 #1
0
        public async Task <ActionResult <IEnumerable <ResultsListVm> > > GetResultsList(int numResultsToFetch)
        {
            var query   = new GetResultsListQuery(numResultsToFetch);
            var results = await _mediator.Send(query);

            return(Ok(results));
        }
コード例 #2
0
        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);
        }