public async Task <IActionResult> RemoveItem([FromBody] RemoveItemModel model) { var useCase = new RemoveItemFromBasket(model.BasketId, model.ProductId, model.Quantity); var cmd = new Command <RemoveItemFromBasket>(useCase); var basket = await _commandHandler.Execute <PendingBasket>(cmd); return(Ok(BasketModel.FromAggregateRoot(basket))); }
public IHttpActionResult RemoveItem([FromBody] RemoveItemModel model) { var basketId = model.BasketId; var productId = model.ProductId; var cmd = Command.NewRemoveItem(ProductId.NewProductId(productId), model.Quantity); var envelope = createCommand(AggregateId.NewAggregateId(basketId), AggregateVersion.Irrelevant, null, null, null, cmd); var basket = CommitCommand(envelope); return(Ok(basket)); }
public IHttpActionResult RemoveItem([FromBody] RemoveItemModel model) { var cmd = new RemoveItemFromBasket( model.BasketId, model.ProductId, model.Quantity); var basket = _commandDispatcher.ExecuteCommand <BasketAggregate>(cmd); return(Ok(BasketModel.FromAggregate(basket))); }
public async Task <IActionResult> DeleteItem(RemoveItemModel model) { FishTank tank = await _context.FishTank.FirstOrDefaultAsync(t => t.Id == model.Id); if (tank == null) { return(BadRequest("No Tank found with Id")); } tank.RemoveItem(model.Decoration.Id); await _context.SaveChangesAsync(); return(Ok(tank)); }
public IResult RemoveItem(RemoveItemModel model) { var order = _repository.Get(model.OrderId); if (order == null) { return(ErrorExtensions.CreateNotification("id", "Nenhum pedido encontrado")); } order.RemoveItem(model.Id); if (order.IsValid()) { _repository.Update(order); var output = _mapper.Map <OrderModelOutput>(order); return(new Result <OrderModelOutput>(output, "Item removido com sucesso!", true)); } return(order.GetNotifications()); }