using Quadarax.Application.QLiberace.Processor.Entities; using Quadarax.Application.QLiberace.Common.Domain; using Quadarax.Foundation.Core.Data.Domain; using Quadarax.Foundation.Core.Data.Interface.Domain; using Quadarax.Application.QLiberace.Processor.Enums; using Quadarax.Foundation.Core.Data; namespace Quadarax.Application.QLiberace.Processor.Repositories { public class RepoPendingQueue : BaseRepoQueue { public RepoPendingQueue(IUnitOfWork unitOfWork, QlbrcContext operationContext) : base(unitOfWork, operationContext) { } public IQueryable GetPending(int takeCount) { var now = DateTime.Now; return Query(new Paging(takeCount)).Where(x => x.Status == QueueStatusEnum.Pending && string.IsNullOrEmpty(x.AffinityWorker) && x.StartFrom <= now && x.StartTo >= now). OrderBy(x=>x.Priority).ThenBy(x=>x.Created); } } }