public SearchResult <TaskListDTO> GetDataByFilter(TaskListSearchFilter filter) { if (string.IsNullOrEmpty(filter.SortName)) { filter.SortName = "UserID"; } TaskListQuery sowQuery = new TaskListQuery(this.Db); var filteredRecords = sowQuery.GetQuery() .Where(sow => sow.UserId == filter.UserID && (sow.BTS.Contains(filter.Keyword) || sow.Address.Contains(filter.Keyword)) ); var displayedRecords = filteredRecords. SortBy(filter.SortName, filter.SortDir) .Skip(filter.Skip) .Take(filter.PageSize) .ToList(); var searchResult = new SearchResult <TaskListDTO>(filter); searchResult.Filter = filter; searchResult.Count.TotalRecords = sowQuery.GetTotalRecords(); searchResult.Count.TotalFiltered = filteredRecords.Count(); searchResult.Count.TotalDisplayed = displayedRecords.Count(); searchResult.Records = displayedRecords; return(searchResult); }
public SearchResult <TaskListDTO> GetDataWithSPByFilter(TaskListSearchFilter filter) { if (string.IsNullOrEmpty(filter.SortName)) { filter.SortName = "UserID"; } var taskList_Results = Db.GetTaskList(filter.UserID, filter.Status).ToList(); var filteredRecords = from taskList_Result in taskList_Results select new TaskListDTO { UserId = filter.UserID, TaskId = taskList_Result.SOWAssign_PK, CheckIn_PK = taskList_Result.CheckIn_PK, BTS = taskList_Result.BTS, Address = taskList_Result.Alamat, Status = taskList_Result.Status, Reported = taskList_Result.Reported.Value, IsClose = taskList_Result.IsClose, IsSubmitted = taskList_Result.IsSubmitted, ReportedValue = taskList_Result.ReportedValue, SOWName = taskList_Result.SOWName, TowerID = taskList_Result.TowerID, Network = Db.usp_GetNetworkTask(taskList_Result.User_FK, taskList_Result.SOW_FK) .Select(x => new NetworkType { CheckIn_PK = x.CheckIn_PK, Status = x.Status, Type = x.Type }).ToList() }; var displayedRecords = filteredRecords; var searchResult = new SearchResult <TaskListDTO>(filter); searchResult.Filter = filter; searchResult.Count.TotalRecords = displayedRecords.Count(); searchResult.Count.TotalFiltered = filteredRecords.Count(); searchResult.Count.TotalDisplayed = displayedRecords.Count(); searchResult.Records = filteredRecords.ToList(); return(searchResult); }