Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 4
0
        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());
        }