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)); } }
/// <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); }
public async Task <GetPersonListResponse> ExecuteAsync(GetPersonListRequest housingSearchRequest) { return(await _searchGateway.GetListOfPersons(housingSearchRequest).ConfigureAwait(false)); }
public async Task <GetPersonListResponse> Get(GetPersonListRequest request) { return(await new PersonModel(factory, mapper).GetItemsAsync(request)); }