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); }
public static GetPersonListResponse Unmarshall(UnmarshallerContext context) { GetPersonListResponse getPersonListResponse = new GetPersonListResponse(); getPersonListResponse.HttpResponse = context.HttpResponse; getPersonListResponse.Code = context.StringValue("GetPersonList.Code"); getPersonListResponse.Message = context.StringValue("GetPersonList.Message"); getPersonListResponse.RequestId = context.StringValue("GetPersonList.RequestId"); GetPersonListResponse.GetPersonList_Data data = new GetPersonListResponse.GetPersonList_Data(); data.PageNumber = context.LongValue("GetPersonList.Data.PageNumber"); data.PageSize = context.LongValue("GetPersonList.Data.PageSize"); data.TotalCount = context.LongValue("GetPersonList.Data.TotalCount"); List <GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem> data_records = new List <GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem>(); for (int i = 0; i < context.Length("GetPersonList.Data.Records.Length"); i++) { GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem recordsItem = new GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem(); recordsItem.FaceUrl = context.StringValue("GetPersonList.Data.Records[" + i + "].FaceUrl"); recordsItem.FirstShotTime = context.LongValue("GetPersonList.Data.Records[" + i + "].FirstShotTime"); recordsItem.PersonId = context.StringValue("GetPersonList.Data.Records[" + i + "].PersonId"); recordsItem.SearchMatchingRate = context.StringValue("GetPersonList.Data.Records[" + i + "].SearchMatchingRate"); recordsItem.LastShotTime = context.LongValue("GetPersonList.Data.Records[" + i + "].LastShotTime"); List <GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem.GetPersonList_TagList> recordsItem_propertyTagList = new List <GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem.GetPersonList_TagList>(); for (int j = 0; j < context.Length("GetPersonList.Data.Records[" + i + "].PropertyTagList.Length"); j++) { GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem.GetPersonList_TagList tagList = new GetPersonListResponse.GetPersonList_Data.GetPersonList_RecordsItem.GetPersonList_TagList(); tagList.Code = context.StringValue("GetPersonList.Data.Records[" + i + "].PropertyTagList[" + j + "].Code"); tagList.TagCodeName = context.StringValue("GetPersonList.Data.Records[" + i + "].PropertyTagList[" + j + "].TagCodeName"); tagList.TagName = context.StringValue("GetPersonList.Data.Records[" + i + "].PropertyTagList[" + j + "].TagName"); tagList._Value = context.StringValue("GetPersonList.Data.Records[" + i + "].PropertyTagList[" + j + "].Value"); recordsItem_propertyTagList.Add(tagList); } recordsItem.PropertyTagList = recordsItem_propertyTagList; data_records.Add(recordsItem); } data.Records = data_records; getPersonListResponse.Data = data; return(getPersonListResponse); }
/// <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); }