//public static IQueryable<TEntity> GetMany<TEntity, TIdentifier>(this IDataService<TEntity, TIdentifier> dataService, // BaseResourceParameters baseResourceParameters) where TEntity : class, IEntity => // dataService.GetMany().ApplyPaging(baseResourceParameters); public static IQueryable <TEntity> GetManyFilter <TEntity>(this IDataService <TEntity> dataService, BaseResourceParameters baseResourceParameters, FilterByIdsParameter filterByIdsParameter, FilterByStatusesParameter filterByStatusesParameter, string subscriberId, bool applyPaging = true) where TEntity : QuantumAlgorithm => ((filterByIdsParameter?.GetIds()).Any() ? dataService.GetManyFilter(filterByIdsParameter.GetIds().ToArray()) : dataService.GetMany()). Where(entity => entity.SubscriberId == subscriberId).Where(entity => filterByStatusesParameter == null || !filterByStatusesParameter.GetStatuses().Any() || filterByStatusesParameter.GetStatuses().Contains((int)entity.Status)). MaybeApplyPaging(baseResourceParameters, applyPaging);
public IActionResult GetResources(BaseResourceParameters baseResourceParameters, FilterByIdsParameter filterByIdsParameter, FilterByStatusesParameter filterByStatusesParameter) { var subscriberId = User.Claims.First(claim => claim.Type == JwtClaimTypes.Subject).Value; IEnumerable <QuantumAlgorithmGetDto> discreteLogarithms = Map <IEnumerable <DiscreteLogarithmGetDto> >(_discreteLogarithmDataService.GetManyFilter(baseResourceParameters, filterByIdsParameter, filterByStatusesParameter, subscriberId, false)); IEnumerable <QuantumAlgorithmGetDto> integerFactorizations = Map <IEnumerable <IntegerFactorizationGetDto> >(_integerFactorizationDataService.GetManyFilter(baseResourceParameters, filterByIdsParameter, filterByStatusesParameter, subscriberId, false)); List <QuantumAlgorithmGetDto> solutions = discreteLogarithms.ToList(); solutions.AddRange(integerFactorizations); return(Ok(solutions.OrderByDescending(solution => solution.StartTime).AsQueryable().ApplyPaging(baseResourceParameters))); }
public IActionResult GetResources(BaseResourceParameters baseResourceParameters, FilterByIdsParameter filterByIdsParameter, FilterByStatusesParameter filterByStatusesParameter) => Ok(Map <IEnumerable <DiscreteLogarithmGetDto> >(ResourceDataService.GetManyFilter(baseResourceParameters, filterByIdsParameter, filterByStatusesParameter, User.Claims.First(claim => claim.Type == JwtClaimTypes.Subject).Value)));