public void Watch(WatchItem command) { // Ensure Auction exisits var item = _listings.FindBy(command.AuctionId); var watch = item.Watch(Guid.NewGuid(), command.MemberId); _watchedItems.Add(watch); // DB will enforce unique contraint on no member watching more than a single item // _unitOfWork.SaveChanges(); }