add project details to CreateTimeRequestDetailsResponse and handle section validation
This commit is contained in:
@@ -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<CreateTimeRequestDetailsRevision> Revisions);
|
||||
public record CreateTimeRequestDetailsResponse(List<CreateTimeRequestDetailsRevision> Revisions,
|
||||
string ProjectName,string PhaseName,string SectionName,string SkillName);
|
||||
|
||||
public record CreateTimeRequestDetailsRevision(string Message, List<UploadedFileDto> Files,Guid Id,string CreationDate);
|
||||
|
||||
@@ -27,6 +29,18 @@ public class
|
||||
public async Task<OperationResult<CreateTimeRequestDetailsResponse>> 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<CreateTimeRequestDetailsResponse>.Success(res);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user