Ejemplo n.º 1
0
        public async Task <IResponse> Handle(RemoveItemBuyListCommand command)
        {
            command.Validate();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            var user = await _userRepository.GetById(command.OwnerId);

            if (user == null)
            {
                return(new GenericCommandResult(false, "Usuário inválido", user));
            }

            var item = await _itemRepository.GetById(command.ItemId);

            if (item == null)
            {
                return(new GenericCommandResult(false, "Item inválido", item));
            }

            var list = await _buyListRepository.GetById(command.BuyListId);

            if (list == null)
            {
                return(new GenericCommandResult(false, "Lista inválida", list));
            }

            if (list.Owner.Id != user.Id && item.Owner.Id != user.Id)
            {
                return(new GenericCommandResult(false, "Item e lista não pertencem ao usuário especificado!", null));
            }

            list.SubTotalValue(item);

            await _buyListRepository.RemoveItem(command.ItemId, command.BuyListId);

            return(new GenericCommandResult(true, "Ok", null));
        }
Ejemplo n.º 2
0
 public async Task <GenericCommandResult> RemoveItemListBuy([FromBody] RemoveItemBuyListCommand command, [FromServices] BuyListHandler handler)
 {
     return((GenericCommandResult)await handler.Handle(command));
 }
Ejemplo n.º 3
0
 public RemoveItemBuyListHandlerTests()
 {
     _validCommand = new RemoveItemBuyListCommand(new Guid("08d8487e-e4e0-4811-82c3-0ae7064e67dd"), new Guid("08d8487f-4387-472f-842a-e3781b550a58"), new Guid("08d84886-c9fa-403f-83e9-2e97ce6d852b"));
 }