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.Interfaces;
|
||||||
using GozareshgirProgramManager.Application._Common.Models;
|
using GozareshgirProgramManager.Application._Common.Models;
|
||||||
using GozareshgirProgramManager.Domain._Common;
|
using GozareshgirProgramManager.Domain._Common;
|
||||||
|
using GozareshgirProgramManager.Domain._Common.Exceptions;
|
||||||
using GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection;
|
using GozareshgirProgramManager.Domain.ProjectAgg.Entities.Task.TaskSection;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace GozareshgirProgramManager.Application.Modules.TaskSectionTimeRequests.Queries.CreateTimeRequestDetails;
|
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);
|
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,
|
public async Task<OperationResult<CreateTimeRequestDetailsResponse>> Handle(CreateTimeRequestDetailsQuery request,
|
||||||
CancellationToken cancellationToken)
|
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 =>
|
var revisions = await _context.TaskSectionRevisions.Where(x =>
|
||||||
x.TaskSectionId == request.TaskSectionId && x.Status == RevisionReviewStatus.Pending).ToListAsync(cancellationToken: cancellationToken);
|
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());
|
return new CreateTimeRequestDetailsRevision(x.Message, filesDto,x.Id,x.CreationDate.ToFarsi());
|
||||||
}).ToList();
|
}).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);
|
return OperationResult<CreateTimeRequestDetailsResponse>.Success(res);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user