コード例 #1
0
        public async Task <UpdateQuantidadeOutput> UpdateQuantidade(UpdateQuantidadeInput input)
        {
            var itemPedidoDB = await itemPedidoRepository.GetItemPedido(input.ItemPedidoId);

            if (itemPedidoDB != null)
            {
                itemPedidoDB.AtualizaQuantidade(input.Quantidade);

                if (input.Quantidade == 0)
                {
                    await itemPedidoRepository.RemoveItemPedido(input.ItemPedidoId);
                }

                await contexto.SaveChangesAsync();

                var pedido = await GetPedido();

                var carrinhoViewModel = new CarrinhoViewModel(pedido.Id, pedido.Itens);

                return(new UpdateQuantidadeOutput(itemPedidoDB, carrinhoViewModel));
            }

            throw new ArgumentException("ItemPedido não encontrado");
        }