diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskSectionTimeRequests/Queries/CreateTimeRequestDetails/CreateTimeRequestDetailsQuery.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskSectionTimeRequests/Queries/CreateTimeRequestDetails/CreateTimeRequestDetailsQuery.cs index 0657ce5c..1632c11f 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskSectionTimeRequests/Queries/CreateTimeRequestDetails/CreateTimeRequestDetailsQuery.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/TaskSectionTimeRequests/Queries/CreateTimeRequestDetails/CreateTimeRequestDetailsQuery.cs @@ -2,12 +2,14 @@ using GozareshgirProgramManager.Application._Common.Extensions; using GozareshgirProgramManager.Application._Common.Interfaces; using GozareshgirProgramManager.Application._Common.Models; using GozareshgirProgramManager.Domain._Common; +using GozareshgirProgramManager.Domain._Common.Exceptions; using GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection; using Microsoft.EntityFrameworkCore; namespace GozareshgirProgramManager.Application.Modules.TaskSectionTimeRequests.Queries.CreateTimeRequestDetails; -public record CreateTimeRequestDetailsResponse(List Revisions); +public record CreateTimeRequestDetailsResponse(List Revisions, + string ProjectName,string PhaseName,string SectionName,string SkillName); public record CreateTimeRequestDetailsRevision(string Message, List Files,Guid Id,string CreationDate); @@ -27,6 +29,18 @@ public class public async Task> Handle(CreateTimeRequestDetailsQuery request, CancellationToken cancellationToken) { + var section =await _context.TaskSections + .Include(x => x.Task) + .ThenInclude(x => x.Phase) + .ThenInclude(x => x.Project) + .Include(x => x.Skill) + .FirstOrDefaultAsync(x => x.Id == request.TaskSectionId, cancellationToken: cancellationToken); + + if (section == null) + { + throw new BadRequestException("بخش فرعی نامعتبر است"); + } + var revisions = await _context.TaskSectionRevisions.Where(x => x.TaskSectionId == request.TaskSectionId && x.Status == RevisionReviewStatus.Pending).ToListAsync(cancellationToken: cancellationToken); @@ -44,7 +58,8 @@ public class return new CreateTimeRequestDetailsRevision(x.Message, filesDto,x.Id,x.CreationDate.ToFarsi()); }).ToList(); - var res = new CreateTimeRequestDetailsResponse(resItem); + var res = new CreateTimeRequestDetailsResponse(resItem,section.Task.Phase.Project.Name,section.Task.Phase.Name,section.Task.Name, + section.Skill!.Name); return OperationResult.Success(res); }