add missing data for task revisions

This commit is contained in:
2026-01-24 17:29:08 +03:30
parent 15f1c938f7
commit 03657b6848
2 changed files with 27 additions and 8 deletions

View File

@@ -1,5 +1,6 @@
using GozareshgirProgramManager.Application._Common.Interfaces;
using GozareshgirProgramManager.Application._Common.Models;
using GozareshgirProgramManager.Domain._Common;
using Microsoft.EntityFrameworkCore;
namespace GozareshgirProgramManager.Application.Modules.TaskSectionRevision.Queries.TaskRevisionsByTaskSectionId;
@@ -20,17 +21,18 @@ public class TaskRevisionsByTaskSectionIdQueryHandler : IBaseQueryHandler<TaskRe
public async Task<OperationResult<TaskRevisionsByTaskSectionIdResponse>> Handle(
TaskRevisionsByTaskSectionIdQuery request, CancellationToken cancellationToken)
{
var taskEntity = await _dbContext.TaskSections
var taskSectionEntity = await _dbContext.TaskSections
.Include(x=>x.Task)
.ThenInclude(x => x.Phase)
.ThenInclude(x => x.Project)
.FirstOrDefaultAsync(x => x.Id == request.TaskSectionId,
cancellationToken: cancellationToken);
if (taskEntity == null)
if (taskSectionEntity == null)
{
return OperationResult<TaskRevisionsByTaskSectionIdResponse>.NotFound("بخش فرعی یافت نشد");
}
var taskRevisions = await _dbContext.TaskSectionRevisions
.Include(x => x.Files).Where(x => x.TaskSectionId == request.TaskSectionId)
.ToListAsync(cancellationToken);
@@ -39,6 +41,18 @@ public class TaskRevisionsByTaskSectionIdQueryHandler : IBaseQueryHandler<TaskRe
return OperationResult<TaskRevisionsByTaskSectionIdResponse>.NotFound("اصلاحی یافت نشد");
}
var skill = await _dbContext.Skills.FirstOrDefaultAsync(x => x.Id == taskSectionEntity.SkillId,
cancellationToken: cancellationToken);
if (skill == null)
return OperationResult<TaskRevisionsByTaskSectionIdResponse>.NotFound("مهارت مورد نظر یافت نشد");
var user =await _dbContext.Users.FirstOrDefaultAsync(x => x.Id == taskSectionEntity.CurrentAssignedUserId,
cancellationToken: cancellationToken);
if (user == null)
return OperationResult<TaskRevisionsByTaskSectionIdResponse>.NotFound("کاربر مورد نظر یافت نشد");
var fileIds = taskRevisions.SelectMany(x => x.Files)
.Select(x => x.FileId).Distinct().ToList();
@@ -64,11 +78,14 @@ public class TaskRevisionsByTaskSectionIdQueryHandler : IBaseQueryHandler<TaskRe
DurationSeconds = file.DurationSeconds
}).ToList();
return new TaskRevisionsByTaskSectionIdItem(x.Message, files);
return new TaskRevisionsByTaskSectionIdItem(x.Message, files,$"{x.CreationDate.ToFarsi()} {x.CreationDate:HH:mm}");
}).ToList();
var res = new TaskRevisionsByTaskSectionIdResponse(resItems, taskEntity.Task.Phase.Project.Name,
taskEntity.Task.Phase.Name, taskEntity.Task.Name);
var res = new TaskRevisionsByTaskSectionIdResponse(resItems, taskSectionEntity.Task.Phase.Project.Name,
taskSectionEntity.Task.Phase.Name, taskSectionEntity.Task.Name,
skill.Name,
user.FullName
);
return OperationResult<TaskRevisionsByTaskSectionIdResponse>.Success(res);
}

View File

@@ -4,10 +4,12 @@ public record TaskRevisionsByTaskSectionIdResponse(
List<TaskRevisionsByTaskSectionIdItem> Items,
string ProjectName,
string PhaseName,
string TaskName);
string TaskName,
string SkillName,
string UserName);
public record TaskRevisionsByTaskSectionIdItem(string Message, List<TaskRevisionsByTaskSectionIdItemFile> Files);
public record TaskRevisionsByTaskSectionIdItem(string Message, List<TaskRevisionsByTaskSectionIdItemFile> Files,string CreationDate);
public class TaskRevisionsByTaskSectionIdItemFile
{