コード例 #1
0
        /// <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);
        }