コード例 #1
0
        //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);
コード例 #2
0
 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)));
コード例 #3
0
        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)));
        }