public async Task Handle(PestDetectedMessage message, CancellationToken cancellationToken) { Console.WriteLine($"Weed detected:{message.FieldId} {message.OrganizationId} {message.CountOnSquareMeter} {message.Severity}"); var field = await _fieldService.GetAsync(message.FieldId, message.OrganizationId); field.Status = message.Severity == DangerLevel.Low || message.Severity == DangerLevel.High ? FieldStatus.NeedAttention : FieldStatus.Critical; await _fieldService.UpdateAsync(field); var rec = await _recommendationService.GetPestDetectedRecommendation(message); var pest = await _pestService.GetAsync(message.PestId); _messageService.AddPestDetectedMessage(new PestDetectedMessageWithRecommendation() { FieldId = message.FieldId, OrganisationId = message.OrganizationId, Recommendation = rec, Severity = message.Severity, PestName = pest.Kind }); }
public async Task <IActionResult> Get(Guid id) { return(Single(await _pestService.GetAsync(id))); }