using AutoMapper; using Microsoft.EntityFrameworkCore; using PARR.Core.Repositories.Interfaces.TaskRepositories; using PARR.Domain.DTOs.TaskDTO; using PARR.Domain.Enums; namespace PARR.Core.Services.TaskServices.Helpers { /// /// Хелпеы для TaskManagement /// internal static class TaskManagementHelpers { /// /// Получить список активных задач /// /// /// /// /// public static async Task> GetActiveTasksAsync(ITaskRepository taskRepository, IMapper mapper, TaskTypeEnum? typeCode = null) { var query = taskRepository.Get() .AsNoTracking() .Include(t => t.TaskStatus) .Include(t => t.TaskType) .Where(t => t.StatusCode == TaskItemStatusEnum.Pending || t.StatusCode == TaskItemStatusEnum.Processing); if (typeCode.HasValue) query = query.Where(t => t.TypeCode == typeCode.Value); var tasks = await query.OrderByDescending(t => t.DateCreated).ToListAsync(); return mapper.Map>(tasks); } } }