Merge branch 'Feature/program-manager/request-additional-time' into Main
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user