#208 adding switch bookmark api method
This commit is contained in:
parent
acf2a62e2e
commit
95ee23db2b
@ -1894,7 +1894,7 @@ namespace RMuseum.Controllers
|
||||
[Authorize]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(GanjoorUserBookmark))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> BookmarkArtifact(int poemId, int verseId)
|
||||
public async Task<IActionResult> BookmarkVerse(int poemId, int verseId)
|
||||
{
|
||||
Guid loggedOnUserId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value);
|
||||
RServiceResult<GanjoorUserBookmark> res = await _ganjoorService.BookmarkVerse(poemId, verseId, loggedOnUserId, RBookmarkType.Bookmark);
|
||||
@ -1922,6 +1922,26 @@ namespace RMuseum.Controllers
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// switch bookmark
|
||||
/// </summary>
|
||||
/// <param name="poemId"></param>
|
||||
/// <param name="verseId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("bookmark/switch/{poemId}/{verseId}")]
|
||||
[Authorize]
|
||||
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(GanjoorUserBookmark))]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
public async Task<IActionResult> SwitchBookmark(int poemId, int verseId)
|
||||
{
|
||||
Guid loggedOnUserId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value);
|
||||
RServiceResult<GanjoorUserBookmark> res = await _ganjoorService.SwitchBookmarkVerse(poemId, verseId, loggedOnUserId, RBookmarkType.Bookmark);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return BadRequest(res.ExceptionString);
|
||||
return Ok(res.Result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// fav poem
|
||||
/// </summary>
|
||||
|
||||
@ -1210,7 +1210,7 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.BookmarkArtifact(System.Int32,System.Int32)">
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.BookmarkVerse(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
bookmark verse
|
||||
</summary>
|
||||
@ -1225,6 +1225,14 @@
|
||||
<param name="bookmarkId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.SwitchBookmark(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
switch bookmark
|
||||
</summary>
|
||||
<param name="poemId"></param>
|
||||
<param name="verseId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorController.FavArtifact(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
fav poem
|
||||
@ -8659,6 +8667,16 @@
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.SwitchBookmarkVerse(System.Int32,System.Int32,System.Guid,RMuseum.Models.Bookmark.RBookmarkType)">
|
||||
<summary>
|
||||
Switch Bookmark Verse
|
||||
</summary>
|
||||
<param name="poemId"></param>
|
||||
<param name="verseId"></param>
|
||||
<param name="userId"></param>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.GetPoemGanjoorUserBookmarks(System.Int32,System.Guid,RMuseum.Models.Bookmark.RBookmarkType)">
|
||||
<summary>
|
||||
get user ganjoor bookmarks
|
||||
@ -9736,6 +9754,16 @@
|
||||
IGanjoorService implementation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.SwitchBookmarkVerse(System.Int32,System.Int32,System.Guid,RMuseum.Models.Bookmark.RBookmarkType)">
|
||||
<summary>
|
||||
Bookmark Verse
|
||||
</summary>
|
||||
<param name="poemId"></param>
|
||||
<param name="verseId"></param>
|
||||
<param name="userId"></param>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.BookmarkVerse(System.Int32,System.Int32,System.Guid,RMuseum.Models.Bookmark.RBookmarkType)">
|
||||
<summary>
|
||||
Bookmark Verse
|
||||
|
||||
@ -577,6 +577,16 @@ namespace RMuseum.Services
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<GanjoorUserBookmark>> BookmarkVerse(int poemId, int verseId, Guid userId, RBookmarkType type);
|
||||
|
||||
/// <summary>
|
||||
/// Switch Bookmark Verse
|
||||
/// </summary>
|
||||
/// <param name="poemId"></param>
|
||||
/// <param name="verseId"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<GanjoorUserBookmark>> SwitchBookmarkVerse(int poemId, int verseId, Guid userId, RBookmarkType type);
|
||||
|
||||
/// <summary>
|
||||
/// get user ganjoor bookmarks
|
||||
/// </summary>
|
||||
|
||||
@ -16,6 +16,36 @@ namespace RMuseum.Services.Implementation
|
||||
/// </summary>
|
||||
public partial class GanjoorService : IGanjoorService
|
||||
{
|
||||
/// <summary>
|
||||
/// Bookmark Verse
|
||||
/// </summary>
|
||||
/// <param name="poemId"></param>
|
||||
/// <param name="verseId"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<GanjoorUserBookmark>> SwitchBookmarkVerse(int poemId, int verseId, Guid userId, RBookmarkType type)
|
||||
{
|
||||
var bookmark = await _context.GanjoorUserBookmarks.Where(b => b.UserId == userId && b.PoemId == poemId && b.VerseId == verseId && b.RBookmarkType == type).SingleOrDefaultAsync();
|
||||
if (bookmark != null)
|
||||
{
|
||||
var res = await DeleteGanjoorBookmark(bookmark.Id, userId);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return new RServiceResult<GanjoorUserBookmark>(null, res.ExceptionString);
|
||||
bookmark = null;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var res = await BookmarkVerse(poemId, verseId, userId, type);
|
||||
if(!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return res;
|
||||
bookmark = res.Result;
|
||||
}
|
||||
return new RServiceResult<GanjoorUserBookmark>(bookmark);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Bookmark Verse
|
||||
/// </summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user