public void SingleServerSearchTask_GetData_CheckData() { var task = new SingleServerSearchTask(new ServerId("", 0), "", new FieldDescription("", typeof(int)), ""); var page = new List <SearchData>(); const int count = 5; for (int i = 0; i < count * 2; i++) { page.Add(new SearchData(null, i)); } task.AddPage(page); for (int i = 0; i < count; i++) { Assert.AreEqual(i, task.GetData().Key); task.IncrementPosition(); } task.AddPage(page); for (int i = count; i < count * 2; i++) { Assert.AreEqual(i, task.GetData().Key); task.IncrementPosition(); } for (int i = count * 2; i < count * 4; i++) { Assert.AreEqual(i - count * 2, task.GetData().Key); task.IncrementPosition(); } }
private SingleServerSearchTask GetCurrent(OrderSelectTask orderSelectTask, List <SingleServerSearchTask> searchTasks, OrderType orderType) { SingleServerSearchTask current = searchTasks.FirstOrDefault(x => !(x.IsAllDataRead && x.Length == 0)); if (current == null) { return(null); } foreach (var searchTask in searchTasks) { if (searchTask.IsAllDataRead && searchTask.Length == 0) { continue; } if (orderType == OrderType.Desc && DataComparer.Compare(current.GetData(), searchTask.GetData(), orderSelectTask.ScriptDescription) < 0) { current = searchTask; } if (orderType == OrderType.Asc && DataComparer.Compare(current.GetData(), searchTask.GetData(), orderSelectTask.ScriptDescription) > 0) { current = searchTask; } } return(current); }
public void LoadPage(SingleServerSearchTask searchTask) { var ret = new List <SearchData>(Data[searchTask.ServerId]); if (Data[searchTask.ServerId].Count == 0) { searchTask.AllDataRead(); } if (_pageSize < ret.Count) { ret.RemoveRange(_pageSize, ret.Count - _pageSize); } if (_pageSize < Data[searchTask.ServerId].Count) { Data[searchTask.ServerId].RemoveRange(0, _pageSize); } else { Data[searchTask.ServerId].RemoveRange(0, Data[searchTask.ServerId].Count); } searchTask.AddPage(ret); }
private void LoadSingleServer(SingleServerSearchTask searchTask) { var description = new SelectDescription(searchTask.IdDescription, searchTask.Script, _serverPageSize, searchTask.UserParametrs) { TableName = searchTask.TableName }; var result = _net.SelectQuery(searchTask.ServerId, description); if (result.Item1.IsError) { searchTask.ServerUnavailable(); } else { if (result.Item2.IsAllDataRead) { searchTask.AllDataRead(); } searchTask.AddPage(result.Item2.Data); } }
public void LoadPage(SingleServerSearchTask searchTask) { LoadSingleServer(searchTask); }
protected void LoadPage(SingleServerSearchTask searchTask) { _dataLoader.LoadPage(searchTask); }