Пример #1
0
        public CollectionResult <AirTaxiModel> GetTaxiModelsByParams(TaxiModelFilterParams parameters)
        {
            var taxiModels = GetAllTaxiModels();

            FillAirTaxiModelQueryParams(parameters);

            taxiModels = taxiModels.Where(parameters.Expression);

            var totalCount = taxiModels.Count();

            var result = taxiModels
                         .OrderBy(x => x.Name)
                         .Skip(parameters.Skip)
                         .Take(parameters.Take)
                         .AsNoTracking()
                         .ToList();

            var modelsResult = new CollectionResult <AirTaxiModel>
            {
                Collection = result,
                TotalCount = totalCount
            };

            return(modelsResult);
        }
Пример #2
0
        private void FillAirTaxiModelQueryParams(TaxiModelFilterParams filterParams)
        {
            var predicate = PredicateBuilder.True <AirTaxiModel>();

            if (!string.IsNullOrEmpty(filterParams.Term))
            {
                predicate = predicate.Extend(t => t.Name.Contains(filterParams.Term));
            }

            filterParams.Expression = predicate;
        }
Пример #3
0
        public CollectionResult <AirTaxiModelDto> GetAirTaxiModelsByParams(TaxiModelFilterParams filterParams)
        {
            var airTaxies = _unitOfWork.AirTaxiModelRepository.GetTaxiModelsByParams(filterParams);

            var result = new CollectionResult <AirTaxiModelDto>
            {
                TotalCount = airTaxies.TotalCount,
                Collection = AutoMapper.Mapper.Map <IEnumerable <AirTaxiModel>, List <AirTaxiModelDto> >(airTaxies.Collection)
            };

            return(result);
        }
Пример #4
0
        public IActionResult GetAirTaxiModelsByParams([FromBody] TaxiModelFilterParams filterParams)
        {
            var models = _airTaxiModelService.GetAirTaxiModelsByParams(filterParams);

            return(Json(JsonResultData.Success(models)));
        }