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)); }
public async Task <GenericCommandResult> RemoveItemListBuy([FromBody] RemoveItemBuyListCommand command, [FromServices] BuyListHandler handler) { return((GenericCommandResult)await handler.Handle(command)); }
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")); }