public async Task <Unit> Handle(RemoveFridgeUserCommand request, CancellationToken cancellationToken) { var fridge = await _fridgeRepository.GetByIdAsync(request.FridgeId); fridge.RemoveUser(request.UserId); await _unitOfWork.CommitAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(UpdateFridgeCommand request, CancellationToken cancellationToken) { var fridge = await _fridgeRepository.GetByIdAsync(request.FridgeId); fridge.ChangeFridgeName(request.Name); fridge.ChangeFridgeDesc(request.Desc); await _unitOfWork.CommitAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(ConsumeFridgeItemCommand command, CancellationToken cancellationToken) { var fridge = await _fridgeRepository.GetByIdAsync(command.FridgeId); var user = fridge.GetFridgeUser(command.UserId); user.ConsumeFridgeItem(command.FridgeItemId, command.AmountValue); await _unitOfWork.CommitAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(AddFridgeUserCommand request, CancellationToken cancellationToken) { var fridge = await _fridgeRepository.GetByIdAsync(request.FridgeId); var user = new User(request.User.Name, request.User.Email); fridge.AddUser(user); await _unitOfWork.CommitAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(UpdateFridgeUserCommand command, CancellationToken cancellationToken) { var fridge = await _fridgeRepository.GetByIdAsync(command.FridgeId); var user = fridge.GetFridgeUser(command.UserId); user.UpdateUserName(command.Name); await _unitOfWork.CommitAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(AddFridgeItemCommand command, CancellationToken cancellationToken) { var fridge = await _fridgeRepository.GetByIdAsync(command.FridgeId); var user = fridge.GetFridgeUser(command.UserId); var foodProduct = await _foodProductRepository.GetByIdAsync(command.FridgeItemDto.FoodProductId); var fridgeItem = new FridgeItem( foodProduct.FoodProductId, command.FridgeItemDto.Note, new AmountValue( command.FridgeItemDto.Value, command.FridgeItemDto.Unit) ); user.AddFridgeItem(fridgeItem); await _unitOfWork.CommitAsync(cancellationToken); return(Unit.Value); }