public UserDetailListModel Get(UserDetailSearchFilter searchFilter) { UserDetailListFormData formData = new UserDetailListFormData(); SearchResult <UserDetailDTO> searchResult = userDetailSearch.GetDataByFilter(searchFilter); return(new UserDetailListModel() { FormData = formData, SearchResult = searchResult }); }
public SearchResult <UserDetailDTO> GetDataByFilter(UserDetailSearchFilter filter) { if (string.IsNullOrEmpty(filter.SortName)) { filter.SortName = "UserDetail_PK"; } UserDetailQuery userDetailQuery = new UserDetailQuery(this.Db); var filteredRecords = userDetailQuery.GetQuery() .Where(userDetail => userDetail.UserCode.Contains(filter.Keyword) || userDetail.Name.Contains(filter.Keyword) || userDetail.NoKTP.Contains(filter.Keyword) || userDetail.NoHP.Contains(filter.Keyword) || userDetail.Email.Contains(filter.Keyword) || userDetail.Address.Contains(filter.Keyword) || userDetail.Description.Contains(filter.Keyword) ); var displayedRecords = filteredRecords. SortBy(filter.SortName, filter.SortDir) .Skip(filter.Skip) .Take(filter.PageSize) .ToList(); var searchResult = new SearchResult <UserDetailDTO>(filter); searchResult.Filter = filter; searchResult.Count.TotalRecords = userDetailQuery.GetTotalRecords(); searchResult.Count.TotalFiltered = filteredRecords.Count(); searchResult.Count.TotalDisplayed = displayedRecords.Count(); searchResult.Records = displayedRecords; return(searchResult); }