예제 #1
0
        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);
        }
예제 #2
0
        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);
        }