public async Task <IActionResult> RegisterOrder(OrderViewModel model) { MemoryStream ms = new(); using var uploadedFile = model.ImageFile.OpenReadStream(); await uploadedFile.CopyToAsync(ms); model.ImageData = ms.ToArray(); model.PictureUrl = model.ImageFile.FileName; model.OrderId = Guid.NewGuid(); var message = new RegisterOrderIntegrationEvent { OrderId = model.OrderId, UserEmail = model.UserEmail, ImageData = model.ImageData, PictureUrl = model.PictureUrl }; //var sendToUri = new Uri($"{RabbitMqMassTransitConstants.RabbitMqUri}" // + $"{RabbitMqMassTransitConstants.RegisterOrderCommandQueue }"); //var endpoint = await _busControl.GetSendEndpoint(sendToUri); //await endpoint.Send<IRegisterOrderCommand>(new //{ // model.OrderId, // model.UserEmail, // model.ImageData, // model.PictureUrl //}); // await _eventBus.PublishAsync<RegisterOrderIntegrationEvent>(message); await _orderManagementAPI.CreateOrderAsync(message); ViewData["OrderId"] = model.OrderId; return(View("Thanks")); }
public async Task RegisterOrder(RegisterOrderIntegrationEvent message) { var handler = _serviceProvider.GetRequiredService <RegisterOrderEventHandler>(); await handler.Handle(message); }
public Task CreateOrderAsync(RegisterOrderIntegrationEvent message) { return(_orderManagementRestClient.CreateOrderAsync(message)); }