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()); } }