diff --git a/RMuseum/Controllers/AudioNarrationController.cs b/RMuseum/Controllers/AudioNarrationController.cs
index ca6a72a7..69c940cf 100644
--- a/RMuseum/Controllers/AudioNarrationController.cs
+++ b/RMuseum/Controllers/AudioNarrationController.cs
@@ -6,6 +6,7 @@ using RMuseum.Models.Auth.Memory;
using RMuseum.Models.GanjoorAudio;
using RMuseum.Models.GanjoorAudio.ViewModels;
using RMuseum.Models.UploadSession;
+using RMuseum.Models.UploadSession.ViewModels;
using RMuseum.Services;
using RSecurityBackend.Models.Generic;
using RSecurityBackend.Services;
@@ -155,7 +156,7 @@ namespace RMuseum.Controllers
///
[HttpGet("uploads")]
[Authorize]
- [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable))]
+ [ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(IEnumerable))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
[ProducesResponseType((int)HttpStatusCode.Forbidden, Type = typeof(string))]
diff --git a/RMuseum/Models/UploadSession/ViewModels/UploadedItemViewModel.cs b/RMuseum/Models/UploadSession/ViewModels/UploadedItemViewModel.cs
new file mode 100644
index 00000000..db240851
--- /dev/null
+++ b/RMuseum/Models/UploadSession/ViewModels/UploadedItemViewModel.cs
@@ -0,0 +1,50 @@
+using System;
+
+namespace RMuseum.Models.UploadSession.ViewModels
+{
+ ///
+ /// Uploaded Item View Model
+ ///
+ public class UploadedItemViewModel
+ {
+ ///
+ /// filename
+ ///
+ public string FileName { get; set; }
+
+ ///
+ /// process result
+ ///
+ public bool ProcessResult { get; set; }
+
+ ///
+ /// process result message
+ ///
+ public string ProcessResultMsg { get; set; }
+
+ ///
+ /// Upload End Time
+ ///
+ public DateTime UploadEndTime { get; set; }
+
+ ///
+ /// Upload User Name
+ ///
+ public string UserName { get; set; }
+
+ ///
+ /// Process Start Time
+ ///
+ public DateTime ProcessStartTime { get; set; }
+
+ ///
+ /// progress progress
+ ///
+ public int ProcessProgress { get; set; }
+
+ ///
+ /// process end time
+ ///
+ public DateTime ProcessEndTime { get; set; }
+ }
+}
diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml
index 0bf911e0..d6bc3e66 100644
--- a/RMuseum/RMuseum.xml
+++ b/RMuseum/RMuseum.xml
@@ -3400,6 +3400,51 @@
Audio
+
+
+ Uploaded Item View Model
+
+
+
+
+ filename
+
+
+
+
+ process result
+
+
+
+
+ process result message
+
+
+
+
+ Upload End Time
+
+
+
+
+ Upload User Name
+
+
+
+
+ Process Start Time
+
+
+
+
+ progress progress
+
+
+
+
+ process end time
+
+
Artifact Item Service
diff --git a/RMuseum/Services/IAudioNarrationService.cs b/RMuseum/Services/IAudioNarrationService.cs
index a5207271..790cf9ae 100644
--- a/RMuseum/Services/IAudioNarrationService.cs
+++ b/RMuseum/Services/IAudioNarrationService.cs
@@ -2,6 +2,7 @@
using RMuseum.Models.GanjoorAudio;
using RMuseum.Models.GanjoorAudio.ViewModels;
using RMuseum.Models.UploadSession;
+using RMuseum.Models.UploadSession.ViewModels;
using RSecurityBackend.Models.Generic;
using System;
using System.Threading.Tasks;
@@ -117,7 +118,7 @@ namespace RMuseum.Services
///
/// if userId is empty all user uploads would be returned
///
- Task> GetUploads(PagingParameterModel paging, Guid userId);
+ Task> GetUploads(PagingParameterModel paging, Guid userId);
///
/// retry publish unpublished narrations
diff --git a/RMuseum/Services/Implementation/AudioNarrationService.cs b/RMuseum/Services/Implementation/AudioNarrationService.cs
index 6cc710dd..926fcf8b 100644
--- a/RMuseum/Services/Implementation/AudioNarrationService.cs
+++ b/RMuseum/Services/Implementation/AudioNarrationService.cs
@@ -10,6 +10,7 @@ using RMuseum.Models.Ganjoor;
using RMuseum.Models.GanjoorAudio;
using RMuseum.Models.GanjoorAudio.ViewModels;
using RMuseum.Models.UploadSession;
+using RMuseum.Models.UploadSession.ViewModels;
using RSecurityBackend.Models.Auth.Db;
using RSecurityBackend.Models.Auth.ViewModels;
using RSecurityBackend.Models.Generic;
@@ -911,7 +912,7 @@ namespace RMuseum.Services.Implementation
///
/// if userId is empty all user uploads would be returned
///
- public async Task> GetUploads(PagingParameterModel paging, Guid userId)
+ public async Task> GetUploads(PagingParameterModel paging, Guid userId)
{
try
{
@@ -922,20 +923,20 @@ namespace RMuseum.Services.Implementation
on file.UploadSessionId equals session.Id
where userId == Guid.Empty || session.UseId == userId
orderby session.UploadEndTime descending
- select new
- { file.FileName, file.ProcessResult, file.ProcessResultMsg, session.UploadEndTime, session.User.UserName, session.ProcessStartTime, session.ProcessProgress, session.ProcessEndTime }
+ select new UploadedItemViewModel()
+ { FileName = file.FileName, ProcessResult = file.ProcessResult, ProcessResultMsg = file.ProcessResultMsg, UploadEndTime = session.UploadEndTime, UserName = session.User.UserName, ProcessStartTime = session.ProcessStartTime, ProcessProgress = session.ProcessProgress, ProcessEndTime = session.ProcessEndTime }
).AsQueryable();
- (PaginationMetadata PagingMeta, dynamic[] Items) paginatedResult =
- await QueryablePaginator.Paginate(source, paging);
+ (PaginationMetadata PagingMeta, UploadedItemViewModel[] Items) paginatedResult =
+ await QueryablePaginator.Paginate(source, paging);
- return new RServiceResult<(PaginationMetadata PagingMeta, dynamic[] Items)>((paginatedResult.PagingMeta, paginatedResult.Items));
+ return new RServiceResult<(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items)>((paginatedResult.PagingMeta, paginatedResult.Items));
}
catch (Exception exp)
{
- return new RServiceResult<(PaginationMetadata PagingMeta, dynamic[] Items)>((PagingMeta: null, Items: null), exp.ToString());
+ return new RServiceResult<(PaginationMetadata PagingMeta, UploadedItemViewModel[] Items)>((PagingMeta: null, Items: null), exp.ToString());
}
}