public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            var jsonString = bindingContext.ActionContext.HttpContext.Request.Query["json"];
            GetPersonListRequest result = JsonConvert.DeserializeObject <GetPersonListRequest>(jsonString);

            bindingContext.Result = ModelBindingResult.Success(result);
            return(Task.CompletedTask);
        }
        public async Task <GetPersonListResponse> GetListOfPersons(GetPersonListRequest query)
        {
            var searchResponse = await _elasticSearchWrapper.Search <QueryablePerson, GetPersonListRequest>(query).ConfigureAwait(false);

            var personListResponse = new GetPersonListResponse();

            personListResponse.Persons.AddRange(searchResponse.Documents.Select(queryablePerson =>
                                                                                queryablePerson.Create())
                                                );

            personListResponse.SetTotal(searchResponse.Total);

            return(personListResponse);
        }
        public async Task GetPersonListShouldCallGetPersonListUseCase()
        {
            // given
            var request  = new GetPersonListRequest();
            var response = new GetPersonListResponse();

            _mockGetPersonListUseCase.Setup(x => x.ExecuteAsync(request)).ReturnsAsync(response);

            // when
            await _classUnderTest.GetPersonList(request).ConfigureAwait(false);

            // then
            _mockGetPersonListUseCase.Verify(x => x.ExecuteAsync(request), Times.Once);
        }
        /// <summary>
        /// 获取指定人体库中的人员列表。
        /// </summary>
        /// <param name="req"><see cref="GetPersonListRequest"/></param>
        /// <returns><see cref="GetPersonListResponse"/></returns>
        public GetPersonListResponse GetPersonListSync(GetPersonListRequest req)
        {
            JsonResponseModel <GetPersonListResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "GetPersonList");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <GetPersonListResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
        public async Task <IActionResult> GetPersonList([FromQuery] GetPersonListRequest request)
        {
            try
            {
                var personsSearchResult = await _getPersonListUseCase.ExecuteAsync(request).ConfigureAwait(false);

                var apiResponse = new APIResponse <GetPersonListResponse>(personsSearchResult);
                apiResponse.Total = personsSearchResult.Total();

                return(new OkObjectResult(apiResponse));
            }
            catch (Exception e)
            {
                LambdaLogger.Log(e.Message + e.StackTrace);
                return(new BadRequestObjectResult(e.Message));
            }
        }
Exemple #6
0
        /// <summary>
        /// Осуществляет постраничную выборку списка персон асинхронно/
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetPersonListResponse> GetItemsAsync(GetPersonListRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("Person model GetPersonListRequest is invalid");
            }

            request.PageSize = (request.PageSize == 0) ? RepositoryDefaults.PageSize : request.PageSize;
            var unit = factory.CreateUnitOfWork();
            var resp = new GetPersonListResponse();

            try
            {
                resp.Persons = mapper.Map <List <PersonContract> >(
                    await unit.Persons.GetItemsAsync(request.PageNo, request.PageSize)
                    );
                resp.Count = await unit.Persons.CountAsync();
            }
            catch (Exception e) { resp.AddMessage(new Contracts.Message(e.Message)); }
            return(resp);
        }
Exemple #7
0
 public async Task <GetPersonListResponse> ExecuteAsync(GetPersonListRequest housingSearchRequest)
 {
     return(await _searchGateway.GetListOfPersons(housingSearchRequest).ConfigureAwait(false));
 }
Exemple #8
0
 public async Task <GetPersonListResponse> Get(GetPersonListRequest request)
 {
     return(await new PersonModel(factory, mapper).GetItemsAsync(request));
 }