set orders for projects
This commit is contained in:
@@ -72,6 +72,7 @@ public class GetProjectsListQueryHandler : IBaseQueryHandler<GetProjectsListQuer
|
||||
});
|
||||
}
|
||||
|
||||
result = result.OrderByDescending(x => x.Percentage).ToList();
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -101,6 +102,7 @@ public class GetProjectsListQueryHandler : IBaseQueryHandler<GetProjectsListQuer
|
||||
RemainingTime = remainingTime
|
||||
});
|
||||
}
|
||||
result = result.OrderByDescending(x => x.Percentage).ToList();
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -189,14 +191,14 @@ public class GetProjectsListQueryHandler : IBaseQueryHandler<GetProjectsListQuer
|
||||
Level = ProjectHierarchyLevel.Task,
|
||||
ParentId = task.PhaseId,
|
||||
Percentage = percentage,
|
||||
TotalHours = (int)totalTime.TotalHours,
|
||||
Minutes = totalTime.Minutes,
|
||||
TotalTime = totalTime,
|
||||
SpentTime = spentTime,
|
||||
RemainingTime = remainingTime,
|
||||
Sections = sectionDtos,
|
||||
Priority = task.Priority
|
||||
});
|
||||
}
|
||||
result = result.OrderByDescending(x => x.Percentage).ToList();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@ public class GetTaskDto
|
||||
public int Percentage { get; init; }
|
||||
public ProjectHierarchyLevel Level { get; init; }
|
||||
public Guid? ParentId { get; init; }
|
||||
public int TotalHours { get; set; }
|
||||
public int Minutes { get; set; }
|
||||
|
||||
public TimeSpan TotalTime { get; set; }
|
||||
|
||||
// Task-specific fields
|
||||
public TimeSpan SpentTime { get; init; }
|
||||
|
||||
@@ -7,6 +7,6 @@ namespace GozareshgirProgramManager.Application.Modules.Projects.Queries.Project
|
||||
public record ProjectBoardListQuery: IBaseQuery<List<ProjectBoardListResponse>>
|
||||
{
|
||||
public long? UserId { get; set; }
|
||||
public string? SearchText { get; set; }
|
||||
public string? ProjectName { get; set; }
|
||||
public TaskSectionStatus? Status { get; set; }
|
||||
}
|
||||
@@ -46,11 +46,11 @@ public class ProjectBoardListQueryHandler : IBaseQueryHandler<ProjectBoardListQu
|
||||
queryable = queryable.Where(x => x.CurrentAssignedUserId == request.UserId);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(request.SearchText))
|
||||
if (!string.IsNullOrWhiteSpace(request.ProjectName))
|
||||
{
|
||||
queryable = queryable.Where(x=>x.Task.Name.Contains(request.SearchText)
|
||||
|| x.Task.Phase.Name.Contains(request.SearchText)
|
||||
|| x.Task.Phase.Project.Name.Contains(request.SearchText));
|
||||
queryable = queryable.Where(x=>x.Task.Name.Contains(request.ProjectName)
|
||||
|| x.Task.Phase.Name.Contains(request.ProjectName)
|
||||
|| x.Task.Phase.Project.Name.Contains(request.ProjectName));
|
||||
}
|
||||
|
||||
var data = await queryable.ToListAsync(cancellationToken);
|
||||
@@ -70,6 +70,9 @@ public class ProjectBoardListQueryHandler : IBaseQueryHandler<ProjectBoardListQu
|
||||
.OrderByDescending(x => x.CurrentAssignedUserId == currentUserId)
|
||||
.ThenByDescending(x=>x.Task.Priority)
|
||||
.ThenBy(x => GetStatusOrder(x.Status))
|
||||
.ThenBy(x=>x.Task.Phase.ProjectId)
|
||||
.ThenBy(x=>x.Task.PhaseId)
|
||||
.ThenBy(x=>x.TaskId)
|
||||
.Select(x =>
|
||||
{
|
||||
// محاسبه یکبار برای هر Activity و Cache کردن نتیجه
|
||||
|
||||
Reference in New Issue
Block a user