Example #1
0
        /// <summary>
        /// delete user bookmark
        /// /// </summary>
        /// <param name="bookmarkId"></param>
        /// <param name="userId">to make sure a user can not delete another user's bookmarks</param>
        /// <returns></returns>
        public async Task <RServiceResult <bool> > DeleteGanjoorBookmark(Guid bookmarkId, Guid userId)
        {
            GanjoorUserBookmark bookmark = await _context.GanjoorUserBookmarks.Where(b => b.Id == bookmarkId && b.UserId == userId).SingleOrDefaultAsync();

            if (bookmark == null)
            {
                return(new RServiceResult <bool>(false, "bookmark not found"));
            }
            _context.GanjoorUserBookmarks.Remove(bookmark);
            await _context.SaveChangesAsync();

            return(new RServiceResult <bool>(true));
        }
Example #2
0
        /// <summary>
        /// Bookmark Verse
        /// </summary>
        /// <param name="poemId"></param>
        /// <param name="coupletIndex"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public async Task <RServiceResult <GanjoorUserBookmark> > BookmarkVerse(int poemId, int coupletIndex, Guid userId)
        {
            if ((await _context.GanjoorUserBookmarks.Where(b => b.UserId == userId && b.PoemId == poemId && b.CoupletIndex == coupletIndex).SingleOrDefaultAsync()) != null)
            {
                return(new RServiceResult <GanjoorUserBookmark>(null, "The couplet is already bookmarkeded."));
            }

            GanjoorUserBookmark bookmark =
                new GanjoorUserBookmark()
            {
                UserId       = userId,
                PoemId       = poemId,
                DateTime     = DateTime.Now,
                CoupletIndex = coupletIndex
            };

            _context.GanjoorUserBookmarks.Add(bookmark);
            await _context.SaveChangesAsync();

            return(new RServiceResult <GanjoorUserBookmark>(bookmark));
        }
Example #3
0
        /// <summary>
        /// modify bookmark private note
        /// </summary>
        /// <param name="bookmarkId"></param>
        /// <param name="userId">to make sure a user can not modify another user's bookmarks</param>
        /// <param name="note"></param>
        /// <returns></returns>
        public async Task <RServiceResult <bool> > ModifyBookmarkPrivateNoteAsync(Guid bookmarkId, Guid userId, string note)
        {
            try
            {
                GanjoorUserBookmark bookmark = await _context.GanjoorUserBookmarks.Where(b => b.Id == bookmarkId && b.UserId == userId).SingleOrDefaultAsync();

                if (bookmark == null)
                {
                    return(new RServiceResult <bool>(false, "bookmark not found"));
                }
                bookmark.PrivateNote = note;
                _context.Update(bookmark);
                await _context.SaveChangesAsync();

                return(new RServiceResult <bool>(true));
            }
            catch (Exception exp)
            {
                return(new RServiceResult <bool>(false, exp.ToString()));
            }
        }