src/app/ContosoTraders.Api.Core/Requests/Handlers/LoadTestRequestHandler.cs (34 lines of code) (raw):

namespace ContosoTraders.Api.Core.Requests.Handlers; internal class LoadTestRequestHandler : IRequestHandler<LoadTestRequest, IActionResult> { private readonly ICartService _cartService; public LoadTestRequestHandler(ICartService cartService) { _cartService = cartService; } public async Task<IActionResult> Handle(LoadTestRequest request, CancellationToken cancellationToken) { const string email = "testuser@contosotraders.com"; IEnumerable<CartDto> cartDtos; try { cartDtos = await _cartService.GetCartAsync(email, cancellationToken); } catch (CartNotFoundException) { var newCartDto = new CartDto { Email = email, Quantity = 1, ProductId = 17, Name = "Dell Optiplex 380 17 inch (43.18 cms) Desktop", Price = 1399, ImageUrl = "https://contoso-traders-imagesctprod.azureedge.net/product-details/PID17-1.jpg", CartItemId = Guid.NewGuid().ToString() }; await _cartService.UpdateCartItemQuantityAsync(newCartDto, cancellationToken); // upsert cartDtos = await _cartService.GetCartAsync(email, cancellationToken); } return new OkObjectResult(cartDtos); } }