public async Task Handle(EstimationRequested message) { _logger.LogInformation( "New case number received {caseNumber} with {imageNumber} image(s)", message.CaseNumber, message.ImageUrls.Count); Data.CaseNumber = message.CaseNumber; Data.ClientId = message.ClientId; Data.CallbackUrl = message.CallbackUri; Data.State = EstimationStates.New; Data.Images = message.ImageUrls.Select((url, index) => new CaseImage { Id = index, Url = url }).ToArray(); await _bus.Send(new EstimationStateChanged { CaseNumber = message.CaseNumber, State = Data.State }); foreach (var image in Data.Images) { await _bus.Send(new ImageUrlReceived { CaseNumber = message.CaseNumber, ImageId = image.Id, ImageUrl = image.Url }); } }
public async Task <ActionResult <NewEstimationResponse> > ProcessNewEstimation([FromBody] NewEstimationRequest request) { var message = new EstimationRequested { CaseNumber = Guid.NewGuid(), ClientId = "From auth", CallbackUri = request.CallBackUri, ImageUrls = request.ImageUrls }; await _bus.Send(message); return(Accepted(new NewEstimationResponse { Token = message.CaseNumber.ToString("D") })); }