public async Task <List <FieldModel> > GetFieldBySearch(SearchFieldRequest request)
        {
            var result = _dbContext.Fields.Include(i => i.StoreModel).Include(i => i.ImageFieldModel).AsNoTracking();

            if (request.StartPrice.HasValue)
            {
                result = result.Where(w => w.Price >= request.StartPrice);
            }

            if (request.ToPrice.HasValue)
            {
                result = result.Where(w => w.Price <= request.ToPrice);
            }

            if (request.DistrictId.HasValue)
            {
                result = result.Where(w => w.StoreModel.DistrictId == request.DistrictId.Value);
            }

            if (request.ProvinceId.HasValue)
            {
                result = result.Where(w => w.StoreModel.ProvinceId == request.ProvinceId.Value);
            }

            return(await result.ToListAsync());
        }
예제 #2
0
        public async Task <BasePagingDto <FieldDto> > GetFieldBySearch(SearchFieldRequest request, int currentPage, int pageSize)
        {
            var listField = await _fieldRepository.GetFieldBySearch(request);

            var listFieldDto = _mapper.Map <List <FieldDto> >(listField);

            var result = MakePaging.FieldDtotoToPaging(listFieldDto, currentPage, pageSize);

            return(result);
        }
예제 #3
0
        public void TestSearchFieldByAlias()
        {
            var request = SearchFieldRequest.Builder()
                          .AddField(HRBCField.FieldProperty.Resource)
                          .AddField(HRBCField.FieldProperty.Alias)
                          .AddField(HRBCField.Properties.All)
                          .Resource(ResourceId.Job)
                          .Alias("P_MinSalary");

            TestContext.Out.WriteLine("Start to send a request for searching !");
            Task <SearchFieldResponseData> result = session.CallAsync(request.GetRequest());

            TestContext.Out.WriteLine("Take a cup of coffee in meantime!");
            SearchFieldResponseData response = result.Result;

            TestContext.Out.WriteLine("Start to get the result !");
            Assert.That(response, Is.Not.Null, "Response data is null!");
            Assert.That(response.Result, Is.Not.Null, "Id is null!");
            Assert.That(response.Result.Count, Is.GreaterThan(0), "Count is 0!");

            var temp = from field in response.Result
                       select field.Id as string;

            TestContext.Out.WriteLine("Start to send a request for searching 123 = {0}!", temp.ToArray()[0]);

            var getRequest = GetFieldRequest.Builder()
                             .AddIds(temp.ToArray())
                             .AddField(HRBCField.FieldProperty.Resource)
                             .AddField(HRBCField.FieldProperty.Alias)
                             .AddField(HRBCField.Properties.All);

            Task <GetFieldResponseData> task = session.CallAsync(getRequest.GetRequest());

            TestContext.Out.WriteLine("Take the second cup of coffee in meantime!");
            GetFieldResponseData fieldData = task.Result;

            Assert.That(fieldData, Is.Not.Null, "Response data is null!");
            Assert.That(fieldData.Values.First().Value.Resource, Is.EqualTo("job"), "Wrong resource type!");
        }
예제 #4
0
 public async Task <ActionResult> GetFieldBySearch([FromQuery] SearchFieldRequest request, int currentPage, int pageSize)
 {
     return(Ok(await _fieldManager.GetFieldBySearch(request, currentPage, pageSize)));
 }
예제 #5
0
        public ActionResult <SearchFieldResponse> Search([FromBody] SearchFieldRequest request)
        {
            var result = _fieldService.Search(request);

            return(result);
        }