public FavouriteContent AddToFavourites(int nodeId, int userId) { var existing = this.GetFavourite(nodeId, userId); if (existing != null) { return(existing); } var fc = new FavouriteContent { NodeId = nodeId, UserId = userId, SortOrder = 0 }; if (FavouriteContentValid(fc)) { _fcRepo.Save(fc); return(fc); } return(null); }
private bool FavouriteContentValid(FavouriteContent fc) { var node = Services.ContentService.GetById(fc.NodeId); // Check node exists if (node == null) { return(false); } // Check not in the bin if (node.ParentId == Constants.System.RecycleBinContent) { return(false); } // Check user exists return(Services.UserService.GetUserById(fc.UserId) != null); }