/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>A <see cref="Agatha.Common.Response"/></returns> public override Response Handle(GetAgencyNamesByKeywordRequest request) { var normalizedCriteria = request.SearchCriteria.Trim(); var pageIndex = request.PageIndex; var pageSize = request.PageSize; var result = _agencyRepository.FindPagedAgencyListByKeywords(normalizedCriteria, pageIndex, pageSize); var pagedSearchResultDto = new PagedAgencyNameSearchResultDto { TotalCount = result.TotalCount, PageIndex = result.PageIndex, PageSize = result.PageSize, PagedList = Mapper.Map <IList <Agency>, IList <AgencyDisplayNameDto> > (result.ItemList) }; var response = CreateTypedResponse(); response.SearchedCriteria = request.SearchCriteria; response.PagedAgencyNameSearchResultDto = pagedSearchResultDto; return(response); }