diff --git a/RMuseum/Controllers/AudioNarrationController.cs b/RMuseum/Controllers/AudioNarrationController.cs
index 33345aba..08fa3098 100644
--- a/RMuseum/Controllers/AudioNarrationController.cs
+++ b/RMuseum/Controllers/AudioNarrationController.cs
@@ -6,7 +6,6 @@ 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;
diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml
index 56bbbb30..9b1ddf44 100644
--- a/RMuseum/RMuseum.xml
+++ b/RMuseum/RMuseum.xml
@@ -3019,67 +3019,6 @@
Audio
-
-
- Upload session view model
-
-
-
-
- Constructor
-
-
-
-
-
- Id
-
-
-
-
- Session Type
-
-
-
-
- User
-
-
-
-
- Upload Start Time
-
-
-
-
- Upload End Time
-
-
-
-
- Process Start Time
-
-
-
-
- Process End Time
-
-
-
-
- Process Progress
-
-
-
-
- Status
-
-
-
-
- Uploaded Files
-
-
Artifact Item Service
diff --git a/RMuseum/Services/IAudioNarrationService.cs b/RMuseum/Services/IAudioNarrationService.cs
index ce96670d..863da863 100644
--- a/RMuseum/Services/IAudioNarrationService.cs
+++ b/RMuseum/Services/IAudioNarrationService.cs
@@ -2,7 +2,6 @@
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;
diff --git a/RMuseum/Services/Implementation/AudioNarrationService.cs b/RMuseum/Services/Implementation/AudioNarrationService.cs
index d24e0fdd..9aca5b85 100644
--- a/RMuseum/Services/Implementation/AudioNarrationService.cs
+++ b/RMuseum/Services/Implementation/AudioNarrationService.cs
@@ -4,11 +4,9 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using MySql.Data.MySqlClient;
using RMuseum.DbContext;
-using RMuseum.Migrations;
using RMuseum.Models.GanjoorAudio;
using RMuseum.Models.GanjoorAudio.ViewModels;
using RMuseum.Models.UploadSession;
-using RMuseum.Models.UploadSession.ViewModels;
using RMuseum.Services.Implementation.ImportedFromDesktopGanjoor;
using RSecurityBackend.Models.Generic;
using RSecurityBackend.Services.Implementation;
@@ -254,9 +252,14 @@ namespace RMuseum.Services.Implementation
{
using (RMuseumDbContext context = new RMuseumDbContext(Configuration)) //this is long running job, so _context might be already been freed/collected by GC
{
+ session.ProcessStartTime = DateTime.Now;
+ double fileCount = session.UploadedFiles.Count;
+ int processFilesCount = 0;
List mp3files = new List();
foreach (UploadSessionFile file in session.UploadedFiles.Where(file => Path.GetExtension(file.FilePath) == ".mp3").ToList())
{
+ processFilesCount++;
+ session.ProcessProgress = (int)(processFilesCount / fileCount * 100.0);
try
{
file.MP3FileCheckSum = PoemAudio.ComputeCheckSum(file.FilePath);
@@ -400,17 +403,21 @@ namespace RMuseum.Services.Implementation
context.UploadSessions.Update(session);
await context.SaveChangesAsync();
}
+ processFilesCount++;
+ session.ProcessProgress = (int)(processFilesCount / fileCount * 100.0);
}
+ session.ProcessEndTime = DateTime.Now;
+ context.Update(session);
+
//remove session files (house keeping)
- foreach(UploadSessionFile file in session.UploadedFiles)
+ foreach (UploadSessionFile file in session.UploadedFiles)
{
- if(!file.ProcessResult)
+ if(!file.ProcessResult && string.IsNullOrEmpty(file.ProcessResultMsg))
{
file.ProcessResultMsg = "فایل xml یا mp3 متناظر این فایل یافت نشد.";
- file.ProcessResult = true;
context.Update(file);
- await context.SaveChangesAsync();
+
}
if(File.Exists(file.FilePath))
{
@@ -424,6 +431,7 @@ namespace RMuseum.Services.Implementation
}
}
}
+ await context.SaveChangesAsync();
}
}
@@ -620,14 +628,6 @@ namespace RMuseum.Services.Implementation
{ file.FileName, file.ProcessResult, file.ProcessResultMsg, session.UploadEndTime, session.User.UserName, session.ProcessStartTime, session.ProcessProgress, session.ProcessEndTime }
).AsQueryable();
- /*
- _context.UploadSessions
- .Include(u => u.User)
- .Include(u => u.UploadedFiles)
- .Where(u => userId == Guid.Empty || u.UseId == userId )
- .OrderByDescending(u => u.UploadEndTime)
- .AsQueryable();*/
-
(PaginationMetadata PagingMeta, dynamic[] Items) paginatedResult =
await QueryablePaginator.Paginate(source, paging);