Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }