public void AddHeadwordBookmark(string bookXmlId, string entryXmlId) { var now = DateTime.UtcNow; var user = TryGetUser(); var defaultFavoriteLabel = m_favoritesRepository.GetDefaultFavoriteLabel(user.Id); var bookmark = new HeadwordBookmark { Book = m_bookRepository.FindBookByGuid(bookXmlId), User = user, XmlEntryId = entryXmlId, CreateTime = now, FavoriteLabel = defaultFavoriteLabel }; m_favoritesRepository.Save(bookmark); }
protected override long ExecuteWorkImplementation() { var now = DateTime.UtcNow; var headword = m_favoritesRepository.Load <Resource>(m_data.HeadwordId); var label = m_favoritesRepository.GetDefaultFavoriteLabel(m_userId); label.LastUseTime = now; var favoriteItem = new FavoriteHeadword { CreateTime = now, FavoriteLabel = label, Title = m_data.Title, DefaultHeadwordResource = headword, Query = m_data.Title, }; var resultId = (long)m_favoritesRepository.Create(favoriteItem); return(resultId); }
protected FavoriteLabel GetFavoriteLabelAndCheckAuthorization(long?labelId, int userId) { if (labelId == null) { var defaultLabel = m_favoritesRepository.GetDefaultFavoriteLabel(userId); return(defaultLabel); } var label = m_favoritesRepository.FindById <FavoriteLabel>(labelId.Value); if (label == null) { throw new MainServiceException(MainServiceErrorCode.FavoriteLabelNotFound, "FavoriteLabel not found"); } if (label.User.Id != userId) { throw new MainServiceException(MainServiceErrorCode.UserDoesNotOwnLabel, "Current user doesn't own this FavoriteLabel"); } return(label); }