public FindRegionsResponse Find(FindRegionsRequest request) { try { _regionQuery.WithOnlyActivated(true); _regionQuery.WithOnlyStatusActivated(request.OnlyStatusActivated); _regionQuery.WithOnlyStatusDeactivated(request.OnlyStatusDeactivated); _regionQuery.WithName(request.Name); _regionQuery.Sort(request.Sort, request.SortBy); var totalRecords = _regionQuery.TotalRecords(); _regionQuery.Paginate(request.StartPage, request.EndPage); var regions = _regionQuery.Execute(); return(new FindRegionsResponse { Regions = TypeAdapter.Adapt <List <RegionResponse> >(regions), TotalRecords = totalRecords }); } catch (DataAccessException) { throw new ApplicationException(); } }