public Task Consume(ConsumeContext <AddBasketMessage> context) { var command = new AddToBasketCommand() { CustomerGuid = context.Message.CustomerGuid, ProductId = context.Message.Id }; return(_mediator.Send(command)); }
public async Task <IActionResult> Execute( [FromRoute] Guid restaurantId, [FromBody] AddToBasketRequest request) { var command = new AddToBasketCommand() { RestaurantId = restaurantId, MenuItemId = request.MenuItemId, Quantity = request.Quantity, }; var result = await sender.Send(command); return(result ? Ok() : Problem(result.Error)); }
public void CountryShippingTest() { IGetBasketQuery basketLoader = new GetBasketQuery(); IAddToBasketCommand addToBasket = new AddToBasketCommand(); IGetShippingOptionsQuery getShippingOptions = new GetShippingOptions(); Dictionary <string, ShippingBase> shippingOptions = getShippingOptions.Invoke(new GetShippingOptionsRequest()).ShippingOptions; var lineItemList = new List <LineItem> { new LineItem { Amount = 1.5m, ProductId = "1", Shipping = shippingOptions["CustomShipping"], SupplierId = 1, DeliveryRegion = RegionShippingCost.Regions.Europe, ShippingAmount = 1m }, new LineItem { Amount = 1.5m, ProductId = "1", Shipping = shippingOptions["CustomShipping"], SupplierId = 1, DeliveryRegion = RegionShippingCost.Regions.Europe, ShippingAmount = 0.5m }, new LineItem { Amount = 1.5m, ProductId = "1", Shipping = shippingOptions["CustomShipping"], SupplierId = 1, DeliveryRegion = RegionShippingCost.Regions.UK, ShippingAmount = 0.5m }, new LineItem { Amount = 1.5m, ProductId = "1", Shipping = shippingOptions["CustomShipping"], SupplierId = 1, DeliveryRegion = RegionShippingCost.Regions.UK, ShippingAmount = 0.0m }, new LineItem { Amount = 1.5m, ProductId = "1", Shipping = shippingOptions["CustomShipping"], SupplierId = 1, DeliveryRegion = RegionShippingCost.Regions.RestOfTheWorld, ShippingAmount = 2m }, new LineItem { Amount = 1.5m, ProductId = "1", Shipping = shippingOptions["CustomShipping"], SupplierId = 1, DeliveryRegion = RegionShippingCost.Regions.RestOfTheWorld, ShippingAmount = 1.5m } }; foreach (LineItem item in lineItemList) { addToBasket.Invoke(new AddToBasketRequest { LineItem = item }); } Basket basket = basketLoader.Invoke(new BasketRequest()); foreach (LineItem item in basket.LineItems) { LineItem sampleListItem = lineItemList.FirstOrDefault(a => a.Id == item.Id); Assert.AreEqual(sampleListItem.SupplierId, item.SupplierId, "SupplierId are not equal"); Assert.AreEqual(sampleListItem.DeliveryRegion, item.DeliveryRegion, "Region are not equal"); Assert.AreEqual(sampleListItem.ShippingAmount, item.ShippingAmount, "Amount are not equal"); } }
public async Task <ActionResult <BasketDTO> > AddProductToBasket(AddToBasketCommand command) { return(await Mediator.Send(command)); }