Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
 public async Task RegisterOrder(RegisterOrderIntegrationEvent message)
 {
     var handler = _serviceProvider.GetRequiredService <RegisterOrderEventHandler>();
     await handler.Handle(message);
 }
 public Task CreateOrderAsync(RegisterOrderIntegrationEvent message)
 {
     return(_orderManagementRestClient.CreateOrderAsync(message));
 }