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

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

            var command = new RemoveItemFromShoppingListCommand(new ShoppingListId(contract.ShoppingListId), itemId);

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

            return(Ok());
        }
Ejemplo n.º 2
0
 public async Task RemoveItemFromShoppingList(RemoveItemFromShoppingListContract contract)
 {
     await apiClient.RemoveItemFromShoppingList(contract);
 }