diff --git a/.gitignore b/.gitignore index efeea142..f2178c5f 100644 --- a/.gitignore +++ b/.gitignore @@ -365,3 +365,7 @@ MigrationBackup/ /ServiceHost/appsettings.Development.json /ServiceHost/appsettings.json /ServiceHost/web.config + +# Storage folder - ignore all uploaded files, thumbnails, and temporary files +ServiceHost/Storage + diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Commands/SendMessage/SendMessageCommand.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Commands/SendMessage/SendMessageCommand.cs index 891a60fc..245d8b39 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Commands/SendMessage/SendMessageCommand.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Commands/SendMessage/SendMessageCommand.cs @@ -106,7 +106,8 @@ public class SendMessageCommandHandler : IBaseCommandHandler m.SenderUserId).Distinct().ToList(); + var users = await _context.Users + .Where(u => senderUserIds.Contains(u.Id)) + .ToDictionaryAsync(u => u.Id, u => u.FullName, cancellationToken); + + // ✅ گرفتن تمامی زمان‌های اضافی (Additional Times) برای نمایش به صورت نوت + // در اینجا تمامی TaskSections مربوط به این تسک را می‌گیریم + // و برای هر کدام تمام AdditionalTimes آن را بارگذاری می‌کنیم + var taskSections = await _context.TaskSections + .Where(ts => ts.TaskId == request.TaskId) + .Include(ts => ts.AdditionalTimes) + .ToListAsync(cancellationToken); + var messageDtos = new List(); foreach (var message in messages) { + // ✅ نام فرستنده را از Dictionary Users بگیر، در صورت عدم وجود "کاربر ناشناس" نمایش بده + var senderName = users.ContainsKey(message.SenderUserId) + ? users[message.SenderUserId] + : "کاربر ناشناس"; + var dto = new MessageDto { Id = message.Id, TaskId = message.TaskId, SenderUserId = message.SenderUserId, - SenderName = "کاربر", // TODO: از User service + SenderName = senderName, // ✅ از User واقعی استفاده می‌کنیم MessageType = message.MessageType.ToString(), TextContent = message.TextContent, ReplyToMessageId = message.ReplyToMessageId, @@ -67,11 +88,16 @@ public class GetMessagesQueryHandler : IBaseQueryHandler ts.AdditionalTimes) + .Where(at => at.AddedAt > message.CreationDate) // ✅ تغییر به AddedAt (زمان واقعی اضافه شدن) + .OrderBy(at => at.AddedAt) + .FirstOrDefault(); + + if (additionalTimesAfterMessage != null) + { + // ✅ تمام AdditionalTimes بین این پیام و پیام قبلی را بگیر + var additionalTimesByDate = taskSections + .SelectMany(ts => ts.AdditionalTimes) + .Where(at => at.AddedAt <= message.CreationDate && + (messageDtos.Count == 1 || at.AddedAt > messageDtos[messageDtos.Count - 2].CreationDate)) + .OrderBy(at => at.AddedAt) + .ToList(); + + foreach (var additionalTime in additionalTimesByDate) + { + // ✅ نام کاربری که این زمان اضافی را اضافه کرد + var addedByUserName = additionalTime.AddedByUserId.HasValue && users.TryGetValue(additionalTime.AddedByUserId.Value, out var user) + ? user + : "سیستم"; + + // ✅ محتوای نوت را با اطلاعات کامل ایجاد کن + // نمایش می‌دهد: مقدار زمان + علت + نام کسی که اضافه کرد + var noteContent = $"⏱️ زمان اضافی: {additionalTime.Hours.TotalHours:F2} ساعت - {(string.IsNullOrWhiteSpace(additionalTime.Reason) ? "بدون علت" : additionalTime.Reason)} - توسط {addedByUserName}"; + + // ✅ نوت را به عنوان MessageDto خاصی ایجاد کن + var noteDto = new MessageDto + { + Id = Guid.NewGuid(), + TaskId = request.TaskId, + SenderUserId = 0, // ✅ سیستم برای نشان دادن اینکه یک پیام خودکار است + SenderName = "سیستم", + MessageType = "Note", // ✅ نوع پیام: Note (یادداشت سیستم) + TextContent = noteContent, + CreationDate = additionalTime.AddedAt, // ✅ تاریخ اضافه شدن زمان اضافی + IsMine = false + }; + + messageDtos.Add(noteDto); + } + } } + // ✅ مرتب کردن نهایی تمام پیام‌ها (معمولی + نوت‌ها) بر اساس زمان ایجاد + // اینطور که نوت‌های زمان اضافی در جای درست خود قرار می‌گیرند + messageDtos = messageDtos.OrderBy(m => m.CreationDate).ToList(); + var response = new PaginationResult() { List = messageDtos, diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/GetPinnedMessages/GetPinnedMessagesQuery.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/GetPinnedMessages/GetPinnedMessagesQuery.cs index 6a7b46ee..15e1cf40 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/GetPinnedMessages/GetPinnedMessagesQuery.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/GetPinnedMessages/GetPinnedMessagesQuery.cs @@ -29,16 +29,25 @@ public class GetPinnedMessagesQueryHandler : IBaseQueryHandler m.PinnedDate) .ToListAsync(cancellationToken); + // ✅ گرفتن تمامی کاربران برای نمایش نام کامل فرستنده + var senderUserIds = messages.Select(m => m.SenderUserId).Distinct().ToList(); + var users = await _context.Users + .Where(u => senderUserIds.Contains(u.Id)) + .ToDictionaryAsync(u => u.Id, u => u.FullName, cancellationToken); + var messageDtos = new List(); foreach (var message in messages) { + // ✅ نام فرستنده را از User واقعی بگیر (به جای "کاربر" ثابت) + var senderName = users.GetValueOrDefault(message.SenderUserId, "کاربر ناشناس"); + var dto = new MessageDto { Id = message.Id, TaskId = message.TaskId, SenderUserId = message.SenderUserId, - SenderName = "کاربر", + SenderName = senderName, MessageType = message.MessageType.ToString(), TextContent = message.TextContent, IsPinned = message.IsPinned, diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/SearchMessages/SearchMessagesQuery.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/SearchMessages/SearchMessagesQuery.cs index b2f23a5c..dffc1331 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/SearchMessages/SearchMessagesQuery.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskChat/Queries/SearchMessages/SearchMessagesQuery.cs @@ -40,15 +40,24 @@ public class SearchMessagesQueryHandler : IBaseQueryHandler m.SenderUserId).Distinct().ToList(); + var users = await _context.Users + .Where(u => senderUserIds.Contains(u.Id)) + .ToDictionaryAsync(u => u.Id, u => u.FullName, cancellationToken); + var messageDtos = new List(); foreach (var message in messages) { + // ✅ نام فرستنده را از User واقعی بگیر + var senderName = users.GetValueOrDefault(message.SenderUserId, "کاربر ناشناس"); + var dto = new MessageDto { Id = message.Id, TaskId = message.TaskId, SenderUserId = message.SenderUserId, - SenderName = "کاربر", + SenderName = senderName, MessageType = message.MessageType.ToString(), TextContent = message.TextContent, CreationDate = message.CreationDate, diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Services/FileManagement/IThumbnailGeneratorService.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Services/FileManagement/IThumbnailGeneratorService.cs index 142a4542..cff21a1a 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Services/FileManagement/IThumbnailGeneratorService.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Services/FileManagement/IThumbnailGeneratorService.cs @@ -9,15 +9,17 @@ public interface IThumbnailGeneratorService /// تولید thumbnail برای تصویر /// Task<(string ThumbnailPath, string ThumbnailUrl)?> GenerateImageThumbnailAsync( - string imagePath, - int width = 200, + string imagePath, + string category, + int width = 200, int height = 200); /// /// تولید thumbnail برای ویدیو /// Task<(string ThumbnailPath, string ThumbnailUrl)?> GenerateVideoThumbnailAsync( - string videoPath); + string videoPath, + string category); /// /// حذف thumbnail diff --git a/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Entities/TaskChatMessage.cs b/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Entities/TaskChatMessage.cs index f82435be..d259872e 100644 --- a/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Entities/TaskChatMessage.cs +++ b/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Entities/TaskChatMessage.cs @@ -62,17 +62,25 @@ public class TaskChatMessage : EntityBase private void ValidateMessage() { + // ✅ بررسی پیام‌های متنی if (MessageType == MessageType.Text && string.IsNullOrWhiteSpace(TextContent)) { throw new BadRequestException("پیام متنی نمی‌تواند خالی باشد"); } + // ✅ بررسی پیام‌های فایلی - باید FileId داشته باشند if ((MessageType == MessageType.File || MessageType == MessageType.Voice || MessageType == MessageType.Image || MessageType == MessageType.Video) && FileId == null) { throw new BadRequestException("پیام‌های فایلی باید شناسه فایل داشته باشند"); } + + // ✅ بررسی یادداشت‌های سیستم - باید محتوای متنی داشته باشند + if (MessageType == MessageType.Note && string.IsNullOrWhiteSpace(TextContent)) + { + throw new BadRequestException("یادداشت نمی‌تواند خالی باشد"); + } } public void SetFile(Guid fileId) @@ -98,7 +106,7 @@ public class TaskChatMessage : EntityBase throw new BadRequestException("فقط فرستنده می‌تواند پیام را ویرایش کند"); } - if (MessageType != MessageType.Text) + if (MessageType != MessageType.Text || (MessageType != MessageType.Text && !string.IsNullOrWhiteSpace(TextContent))) { throw new BadRequestException("فقط پیام‌های متنی قابل ویرایش هستند"); } diff --git a/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Enums/MessageType.cs b/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Enums/MessageType.cs index 4b30dcd4..f35c1034 100644 --- a/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Enums/MessageType.cs +++ b/ProgramManager/src/Domain/GozareshgirProgramManager.Domain/TaskChatAgg/Enums/MessageType.cs @@ -10,5 +10,6 @@ public enum MessageType Image = 3, // تصویر Voice = 4, // پیام صوتی Video = 5, // ویدیو + Note = 6, // ✅ یادداشت سیستم (برای زمان اضافی و اطلاعات خودکار) } diff --git a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/LocalFileStorageService.cs b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/LocalFileStorageService.cs index a0630582..1fec469f 100644 --- a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/LocalFileStorageService.cs +++ b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/LocalFileStorageService.cs @@ -24,11 +24,11 @@ public class LocalFileStorageService : IFileStorageService var request = httpContextAccessor.HttpContext?.Request; if (request != null) { - _baseUrl = $"{request.Scheme}://{request.Host}/uploads"; + _baseUrl = $"{request.Scheme}://{request.Host}/storage"; } else { - _baseUrl = configuration["FileStorage:BaseUrl"] ?? "http://localhost:5000/uploads"; + _baseUrl = configuration["FileStorage:BaseUrl"] ?? "http://localhost:5000/storage"; } // ایجاد پوشه اگر وجود نداشت diff --git a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/ThumbnailGeneratorService.cs b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/ThumbnailGeneratorService.cs index df55c827..baf6366b 100644 --- a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/ThumbnailGeneratorService.cs +++ b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/FileManagement/ThumbnailGeneratorService.cs @@ -1,4 +1,5 @@ using GozareshgirProgramManager.Application.Services.FileManagement; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using SixLabors.ImageSharp; using SixLabors.ImageSharp.Processing; @@ -14,12 +15,21 @@ public class ThumbnailGeneratorService : IThumbnailGeneratorService private readonly string _thumbnailBasePath; private readonly string _baseUrl; - public ThumbnailGeneratorService(IConfiguration configuration) + public ThumbnailGeneratorService(IConfiguration configuration, + IHttpContextAccessor httpContextAccessor) { _thumbnailBasePath = configuration["FileStorage:ThumbnailPath"] - ?? Path.Combine(Directory.GetCurrentDirectory(), "Uploads", "Thumbnails"); + ?? Path.Combine(Directory.GetCurrentDirectory(), "storage", "Thumbnails"); + var request = httpContextAccessor.HttpContext?.Request; - _baseUrl = configuration["FileStorage:BaseUrl"] ?? "http://localhost:5000/uploads"; + if (request != null) + { + _baseUrl = $"{request.Scheme}://{request.Host}/storage"; + } + else + { + _baseUrl = configuration["FileStorage:BaseUrl"] ?? "http://localhost:5000/storage"; + } if (!Directory.Exists(_thumbnailBasePath)) { @@ -28,7 +38,8 @@ public class ThumbnailGeneratorService : IThumbnailGeneratorService } public async Task<(string ThumbnailPath, string ThumbnailUrl)?> GenerateImageThumbnailAsync( - string imagePath, + string imagePath, + string category, int width = 200, int height = 200) { @@ -54,14 +65,12 @@ public class ThumbnailGeneratorService : IThumbnailGeneratorService var extension = Path.GetExtension(imagePath); var thumbnailFileName = $"{fileName}_thumb{extension}"; - // مسیر ذخیره thumbnail - var thumbnailPath = Path.Combine(_thumbnailBasePath, thumbnailFileName); + // دریافت مسیر و URL توسط متد private + var (thumbnailPath, thumbnailUrl) = GetThumbnailPathAndUrl(thumbnailFileName, category); // ذخیره thumbnail با کیفیت 80 await image.SaveAsync(thumbnailPath, new JpegEncoder { Quality = 80 }); - // URL thumbnail - var thumbnailUrl = $"{_baseUrl}/thumbnails/{thumbnailFileName}"; return (thumbnailPath, thumbnailUrl); } @@ -72,7 +81,7 @@ public class ThumbnailGeneratorService : IThumbnailGeneratorService } } - public async Task<(string ThumbnailPath, string ThumbnailUrl)?> GenerateVideoThumbnailAsync(string videoPath) + public async Task<(string ThumbnailPath, string ThumbnailUrl)?> GenerateVideoThumbnailAsync(string videoPath, string category = "general") { // TODO: برای Video thumbnail باید از FFmpeg استفاده کنیم // فعلاً یک placeholder image برمی‌گردانیم @@ -107,5 +116,29 @@ public class ThumbnailGeneratorService : IThumbnailGeneratorService return null; } } -} + /// + /// دریافت مسیر فیزیکی و URL برای thumbnail بر اساس category + /// + private (string ThumbnailPath, string ThumbnailUrl) GetThumbnailPathAndUrl(string thumbnailFileName, string category) + { + var categoryFolder = string.IsNullOrWhiteSpace(category) ? "general" : category; + var categoryPath = Path.Combine(Directory.GetCurrentDirectory(), "storage", categoryFolder); + + if (!Directory.Exists(categoryPath)) + { + Directory.CreateDirectory(categoryPath); + } + + var thumbnailSubPath = Path.Combine(categoryPath, "Thumbnails"); + if (!Directory.Exists(thumbnailSubPath)) + { + Directory.CreateDirectory(thumbnailSubPath); + } + + var thumbnailPath = Path.Combine(thumbnailSubPath, thumbnailFileName); + var thumbnailUrl = $"{_baseUrl}/{categoryFolder}/thumbnails/{thumbnailFileName}"; + + return (thumbnailPath, thumbnailUrl); + } +} diff --git a/ServiceHost/Program.cs b/ServiceHost/Program.cs index 43a92b04..f999964c 100644 --- a/ServiceHost/Program.cs +++ b/ServiceHost/Program.cs @@ -487,7 +487,7 @@ app.UseHttpsRedirection(); app.UseStaticFiles(); // Static files برای فایل‌های آپلود شده -var uploadsPath = builder.Configuration["FileStorage:LocalPath"] ?? Path.Combine(Directory.GetCurrentDirectory(), "Uploads"); +var uploadsPath = builder.Configuration["FileStorage:LocalPath"] ?? Path.Combine(Directory.GetCurrentDirectory(), "Storage"); if (!Directory.Exists(uploadsPath)) { Directory.CreateDirectory(uploadsPath); @@ -496,7 +496,7 @@ if (!Directory.Exists(uploadsPath)) app.UseStaticFiles(new StaticFileOptions { FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(uploadsPath), - RequestPath = "/uploads", + RequestPath = "/storage", OnPrepareResponse = ctx => { // Cache برای فایل‌ها (30 روز) diff --git a/ServiceHost/Storage/Apk/Android/GozreshgirWebView/gozareshgirV1.5.v1.0.apk b/ServiceHost/Storage/Apk/Android/GozreshgirWebView/gozareshgirV1.5.v1.0.apk deleted file mode 100644 index 62038ba0..00000000 Binary files a/ServiceHost/Storage/Apk/Android/GozreshgirWebView/gozareshgirV1.5.v1.0.apk and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42416/EmployeePicture-1403-11-29-773852181989-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42416/EmployeePicture-1403-11-29-773852181989-thumbnail.jpg deleted file mode 100644 index f0183075..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42416/EmployeePicture-1403-11-29-773852181989-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42416/EmployeePicture-1403-11-29-773852181989.jpg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42416/EmployeePicture-1403-11-29-773852181989.jpg deleted file mode 100644 index 145a2f8c..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42416/EmployeePicture-1403-11-29-773852181989.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/EmployeePicture-1403-11-30-622720870422-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/EmployeePicture-1403-11-30-622720870422-thumbnail.jpeg deleted file mode 100644 index aa26e4d6..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/EmployeePicture-1403-11-30-622720870422-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/EmployeePicture-1403-11-30-622720870422.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/EmployeePicture-1403-11-30-622720870422.jpeg deleted file mode 100644 index 196a41f3..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/EmployeePicture-1403-11-30-622720870422.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage1-1403-11-30-622845188366-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage1-1403-11-30-622845188366-thumbnail.jpeg deleted file mode 100644 index aa26e4d6..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage1-1403-11-30-622845188366-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage1-1403-11-30-622845188366.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage1-1403-11-30-622845188366.jpeg deleted file mode 100644 index 1b7b4ebf..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage1-1403-11-30-622845188366.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage2-1403-11-30-622882227535-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage2-1403-11-30-622882227535-thumbnail.jpeg deleted file mode 100644 index aa26e4d6..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage2-1403-11-30-622882227535-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage2-1403-11-30-622882227535.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage2-1403-11-30-622882227535.jpeg deleted file mode 100644 index 196a41f3..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage2-1403-11-30-622882227535.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage3-1403-11-30-622915207655-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage3-1403-11-30-622915207655-thumbnail.jpeg deleted file mode 100644 index aa26e4d6..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage3-1403-11-30-622915207655-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage3-1403-11-30-622915207655.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage3-1403-11-30-622915207655.jpeg deleted file mode 100644 index 196a41f3..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/IdCardPage3-1403-11-30-622915207655.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardFront-1403-11-30-622754962099-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardFront-1403-11-30-622754962099-thumbnail.jpg deleted file mode 100644 index 95e6806e..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardFront-1403-11-30-622754962099-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardFront-1403-11-30-622754962099.jpg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardFront-1403-11-30-622754962099.jpg deleted file mode 100644 index 129024aa..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardFront-1403-11-30-622754962099.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardRear-1403-11-30-649899718736-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardRear-1403-11-30-649899718736-thumbnail.jpeg deleted file mode 100644 index d5513557..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardRear-1403-11-30-649899718736-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardRear-1403-11-30-649899718736.jpeg b/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardRear-1403-11-30-649899718736.jpeg deleted file mode 100644 index 62069205..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Confirmed/170/42565/NationalCardRear-1403-11-30-649899718736.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42565/NationalCardRear-1403-11-30-622795832887-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42565/NationalCardRear-1403-11-30-622795832887-thumbnail.jpg deleted file mode 100644 index 5646abfd..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42565/NationalCardRear-1403-11-30-622795832887-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42565/NationalCardRear-1403-11-30-622795832887.jpg b/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42565/NationalCardRear-1403-11-30-622795832887.jpg deleted file mode 100644 index 9c9d9590..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42565/NationalCardRear-1403-11-30-622795832887.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124-thumbnail.jpg deleted file mode 100644 index fca0edf8..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124.jpg b/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124.jpg deleted file mode 100644 index 7a6766d1..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/Rejected/170/42821/EmployeePicture-1404-2-15-652859999124.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/EmployeePicture-1403-11-30-641515603007-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/EmployeePicture-1403-11-30-641515603007-thumbnail.jpeg deleted file mode 100644 index aa26e4d6..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/EmployeePicture-1403-11-30-641515603007-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/EmployeePicture-1403-11-30-641515603007.jpeg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/EmployeePicture-1403-11-30-641515603007.jpeg deleted file mode 100644 index 196a41f3..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/EmployeePicture-1403-11-30-641515603007.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardFront-1403-11-30-641565540993-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardFront-1403-11-30-641565540993-thumbnail.jpg deleted file mode 100644 index 5646abfd..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardFront-1403-11-30-641565540993-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardFront-1403-11-30-641565540993.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardFront-1403-11-30-641565540993.jpg deleted file mode 100644 index 9c9d9590..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardFront-1403-11-30-641565540993.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardRear-1403-11-30-641614712133-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardRear-1403-11-30-641614712133-thumbnail.jpg deleted file mode 100644 index 5646abfd..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardRear-1403-11-30-641614712133-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardRear-1403-11-30-641614712133.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardRear-1403-11-30-641614712133.jpg deleted file mode 100644 index 9c9d9590..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42819/NationalCardRear-1403-11-30-641614712133.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/EmployeePicture-1403-11-30-641877888911-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/EmployeePicture-1403-11-30-641877888911-thumbnail.jpeg deleted file mode 100644 index d5513557..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/EmployeePicture-1403-11-30-641877888911-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/EmployeePicture-1403-11-30-641877888911.jpeg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/EmployeePicture-1403-11-30-641877888911.jpeg deleted file mode 100644 index 62069205..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/EmployeePicture-1403-11-30-641877888911.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/NationalCardFront-1403-11-30-641908073835-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/NationalCardFront-1403-11-30-641908073835-thumbnail.jpeg deleted file mode 100644 index 94937553..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/NationalCardFront-1403-11-30-641908073835-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/NationalCardFront-1403-11-30-641908073835.jpeg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/NationalCardFront-1403-11-30-641908073835.jpeg deleted file mode 100644 index bacedd2d..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/42821/NationalCardFront-1403-11-30-641908073835.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/43064/EmployeePicture-1403-11-30-646654300149-thumbnail.png b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/43064/EmployeePicture-1403-11-30-646654300149-thumbnail.png deleted file mode 100644 index 0ea5b4ee..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/43064/EmployeePicture-1403-11-30-646654300149-thumbnail.png and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/43064/EmployeePicture-1403-11-30-646654300149.png b/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/43064/EmployeePicture-1403-11-30-646654300149.png deleted file mode 100644 index 172b7540..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByAdmin/170/43064/EmployeePicture-1403-11-30-646654300149.png and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardFront-1403-11-30-606228058122-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardFront-1403-11-30-606228058122-thumbnail.jpg deleted file mode 100644 index 24ebfd83..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardFront-1403-11-30-606228058122-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardFront-1403-11-30-606228058122.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardFront-1403-11-30-606228058122.jpg deleted file mode 100644 index 35f8afae..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardFront-1403-11-30-606228058122.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardRear-1403-11-30-606307237144-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardRear-1403-11-30-606307237144-thumbnail.jpg deleted file mode 100644 index 24ebfd83..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardRear-1403-11-30-606307237144-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardRear-1403-11-30-606307237144.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardRear-1403-11-30-606307237144.jpg deleted file mode 100644 index 35f8afae..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42416/NationalCardRear-1403-11-30-606307237144.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/EmployeePicture-1403-11-30-623081234987-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/EmployeePicture-1403-11-30-623081234987-thumbnail.jpg deleted file mode 100644 index 96297d0b..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/EmployeePicture-1403-11-30-623081234987-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/EmployeePicture-1403-11-30-623081234987.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/EmployeePicture-1403-11-30-623081234987.jpg deleted file mode 100644 index 7fd6a25c..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/EmployeePicture-1403-11-30-623081234987.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/NationalCardFront-1403-11-30-623166908340-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/NationalCardFront-1403-11-30-623166908340-thumbnail.jpg deleted file mode 100644 index 24ebfd83..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/NationalCardFront-1403-11-30-623166908340-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/NationalCardFront-1403-11-30-623166908340.jpg b/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/NationalCardFront-1403-11-30-623166908340.jpg deleted file mode 100644 index 35f8afae..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/SubmittedByClient/170/42566/NationalCardFront-1403-11-30-623166908340.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858-thumbnail.jpg deleted file mode 100644 index fca0edf8..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858.jpg deleted file mode 100644 index 7a6766d1..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/170/42821/EmployeePicture-1404-2-15-653376702858.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/EmployeePicture-1403-11-30-600342657778-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/EmployeePicture-1403-11-30-600342657778-thumbnail.jpg deleted file mode 100644 index 047bb76e..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/EmployeePicture-1403-11-30-600342657778-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/EmployeePicture-1403-11-30-600342657778.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/EmployeePicture-1403-11-30-600342657778.jpg deleted file mode 100644 index dbaac0d5..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/EmployeePicture-1403-11-30-600342657778.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/NationalCardFront-1403-11-30-600439780480-thumbnail.jpeg b/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/NationalCardFront-1403-11-30-600439780480-thumbnail.jpeg deleted file mode 100644 index 94937553..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/NationalCardFront-1403-11-30-600439780480-thumbnail.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/NationalCardFront-1403-11-30-600439780480.jpeg b/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/NationalCardFront-1403-11-30-600439780480.jpeg deleted file mode 100644 index bacedd2d..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/170/8523/NationalCardFront-1403-11-30-600439780480.jpeg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264-thumbnail.jpg deleted file mode 100644 index fca0edf8..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264.jpg deleted file mode 100644 index 7a6766d1..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/EmployeePicture-1404-2-15-650997942264.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927-thumbnail.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927-thumbnail.jpg deleted file mode 100644 index fca0edf8..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927-thumbnail.jpg and /dev/null differ diff --git a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927.jpg b/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927.jpg deleted file mode 100644 index 7a6766d1..00000000 Binary files a/ServiceHost/Storage/EmployeeDocuments/temp/572/43228/NationalCardFront-1404-2-15-651445927927.jpg and /dev/null differ diff --git a/ServiceHost/Storage/Task/12296/RollCallBgService_638754044052039151.zip b/ServiceHost/Storage/Task/12296/RollCallBgService_638754044052039151.zip deleted file mode 100644 index d868647f..00000000 Binary files a/ServiceHost/Storage/Task/12296/RollCallBgService_638754044052039151.zip and /dev/null differ diff --git a/ServiceHost/Storage/Ticket/42/screenshot_638731627679227408.png b/ServiceHost/Storage/Ticket/42/screenshot_638731627679227408.png deleted file mode 100644 index 2801ac35..00000000 Binary files a/ServiceHost/Storage/Ticket/42/screenshot_638731627679227408.png and /dev/null differ diff --git a/ServiceHost/Storage/Ticket/43/screenshot_638737819107504668.png b/ServiceHost/Storage/Ticket/43/screenshot_638737819107504668.png deleted file mode 100644 index 83464160..00000000 Binary files a/ServiceHost/Storage/Ticket/43/screenshot_638737819107504668.png and /dev/null differ diff --git a/ServiceHost/Storage/Ticket/47/screenshot_638754047520224604.png b/ServiceHost/Storage/Ticket/47/screenshot_638754047520224604.png deleted file mode 100644 index bb053a8c..00000000 Binary files a/ServiceHost/Storage/Ticket/47/screenshot_638754047520224604.png and /dev/null differ diff --git a/ServiceHost/Storage/Ticket/48/screenshot_638754047808657807.png b/ServiceHost/Storage/Ticket/48/screenshot_638754047808657807.png deleted file mode 100644 index 17c3f4a8..00000000 Binary files a/ServiceHost/Storage/Ticket/48/screenshot_638754047808657807.png and /dev/null differ