diff --git a/RMuseum/Controllers/RecitationController.cs b/RMuseum/Controllers/RecitationController.cs
index adf6649c..fff5c3b8 100644
--- a/RMuseum/Controllers/RecitationController.cs
+++ b/RMuseum/Controllers/RecitationController.cs
@@ -30,6 +30,7 @@ namespace RMuseum.Controllers
///
/// default: false, user must have narration::moderate permission to be able to see all users narrations
/// default: -1, unfiltered
+ ///
///
[HttpGet]
[Authorize]
@@ -37,7 +38,7 @@ namespace RMuseum.Controllers
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
[ProducesResponseType((int)HttpStatusCode.Forbidden, Type = typeof(string))]
- public async Task Get([FromQuery] PagingParameterModel paging, bool allUsers = false, AudioReviewStatus status = AudioReviewStatus.All )
+ public async Task Get([FromQuery] PagingParameterModel paging, bool allUsers = false, AudioReviewStatus status = AudioReviewStatus.All, string searchTerm = "")
{
Guid loggedOnUserId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value);
Guid sessionId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "SessionId").Value);
@@ -60,7 +61,7 @@ namespace RMuseum.Controllers
return StatusCode((int)HttpStatusCode.Forbidden);
}
- var res = await _audioService.GetAll(paging, allUsers ? Guid.Empty : loggedOnUserId, status);
+ var res = await _audioService.GetAll(paging, allUsers ? Guid.Empty : loggedOnUserId, status, searchTerm);
if(!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml
index b01bb20d..7f6fe5c9 100644
--- a/RMuseum/RMuseum.xml
+++ b/RMuseum/RMuseum.xml
@@ -694,13 +694,14 @@
Artifact Service
-
+
Gets audio narrations, user must have narration::moderate permission to be able to see all users narrations
default: false, user must have narration::moderate permission to be able to see all users narrations
default: -1, unfiltered
+
@@ -4989,13 +4990,14 @@
Audio Narration Service Implementation
-
+
returns list of narrations
send Guid.Empty if you want all narrations
+
@@ -5339,13 +5341,14 @@
Audio Narration Service
-
+
returns list of narrations
send Guid.Empty if you want all narrations
+
diff --git a/RMuseum/Services/IRecitationService.cs b/RMuseum/Services/IRecitationService.cs
index 41155804..39fd1133 100644
--- a/RMuseum/Services/IRecitationService.cs
+++ b/RMuseum/Services/IRecitationService.cs
@@ -20,8 +20,9 @@ namespace RMuseum.Services
///
/// send Guid.Empty if you want all narrations
///
+ ///
///
- public Task> GetAll(PagingParameterModel paging, Guid filteredUserId, AudioReviewStatus status);
+ public Task> GetAll(PagingParameterModel paging, Guid filteredUserId, AudioReviewStatus status, string searchTerm);
///
/// return selected narration information
diff --git a/RMuseum/Services/Implementation/RecitationService.cs b/RMuseum/Services/Implementation/RecitationService.cs
index f1a8147f..b93093be 100644
--- a/RMuseum/Services/Implementation/RecitationService.cs
+++ b/RMuseum/Services/Implementation/RecitationService.cs
@@ -30,18 +30,15 @@ namespace RMuseum.Services.Implementation
///
public class RecitationService : IRecitationService
{
-
-
-
-
///
/// returns list of narrations
///
///
/// send Guid.Empty if you want all narrations
///
+ ///
///
- public async Task> GetAll(PagingParameterModel paging, Guid filteredUserId, AudioReviewStatus status)
+ public async Task> GetAll(PagingParameterModel paging, Guid filteredUserId, AudioReviewStatus status, string searchTerm)
{
try
{
@@ -53,6 +50,8 @@ namespace RMuseum.Services.Implementation
(filteredUserId == Guid.Empty || a.OwnerId == filteredUserId)
&&
(status == AudioReviewStatus.All || a.ReviewStatus == status)
+ &&
+ (string.IsNullOrEmpty(searchTerm) || (!string.IsNullOrEmpty(searchTerm) && (a.AudioArtist.Contains(searchTerm) || a.AudioTitle.Contains(searchTerm) )))
)
.OrderByDescending(a => a.UploadDate)
join poem in _context.GanjoorPoems