namespace CMSMicroservice.Application.AppVersionCQ.Queries.GetAllAppVersions; /// /// Handler برای دریافت همه نسخه‌های اپلیکیشن‌ها /// public class GetAllAppVersionsQueryHandler : IRequestHandler> { private readonly IApplicationDbContext _context; public GetAllAppVersionsQueryHandler(IApplicationDbContext context) { _context = context; } public async Task> Handle(GetAllAppVersionsQuery request, CancellationToken cancellationToken) { var query = _context.AppVersions .Where(v => !v.IsDeleted); if (!request.IncludeInactive) { query = query.Where(v => v.IsActive); } var versions = await query .OrderBy(v => v.AppName) .Select(v => new AppVersionItemDto { Id = v.Id, AppName = v.AppName, CurrentVersion = v.CurrentVersion, MinRequiredVersion = v.MinRequiredVersion, RequiresFullCacheClear = v.RequiresFullCacheClear, UpdateMessage = v.UpdateMessage, ReleaseNotes = v.ReleaseNotes, IsActive = v.IsActive, Created = v.Created, LastModified = v.LastModified }) .ToListAsync(cancellationToken); return versions; } }