public async Task <IActionResult> AddItemToShoppingList([FromBody] AddItemToShoppingListContract contract)
        {
            OfflineTolerantItemId itemId;

            try
            {
                itemId = offlineTolerantItemIdConverter.ToDomain(contract.ItemId);
            }
            catch (ArgumentException)
            {
                return(BadRequest("No item id was specified."));
            }

            var command = new AddItemToShoppingListCommand(
                new ShoppingListId(contract.ShoppingListId),
                itemId,
                contract.SectionId.HasValue ? new SectionId(contract.SectionId.Value) : null,
                contract.Quantity);

            try
            {
                await commandDispatcher.DispatchAsync(command, default);
            }
            catch (DomainException e)
            {
                return(BadRequest(e.Reason));
            }

            return(Ok());
        }
Esempio n. 2
0
 public async Task AddItemToShoppingList(AddItemToShoppingListContract contract)
 {
     await apiClient.AddItemToShoppingList(contract);
 }