private async void Session_Save(object sender, RoutedEventArgs e) { SwagDataSet.Display = SessionName; SwagItemPreOrderIterator <SwagData> itrSwagData = SwagDataSet.CreateIterator(); SwagWindow.GlobalIsBusy = true; await Task.Run(() => { for (SwagData sd = itrSwagData.First(); !itrSwagData.IsDone; sd = itrSwagData.Next()) { if (sd is SwagDataTable sdt && !sdt.IsInitialized) { SwagDataGrid.InitSwagDataTable(sdt); } } }); SwagDataSet sdsSession = SwagWPFContainer.SwagDataService.SwagDataSets.Where(sds => sds.Display == SessionName).FirstOrDefault(); if (sdsSession == SwagDataSet) { SwagWPFContainer.SwagDataService.SwagDataSets.Update(SwagDataSet); } else { SwagWPFContainer.SwagDataService.SwagDataSets.Add(SwagDataSet); } SwagWindow.GlobalIsBusy = false; SwagWPFContainer.SwagDataService.Save(); }
private async void Session_Load(object sender, RoutedEventArgs e) { SwagDataSet sdsSession = null; SwagWindow.GlobalIsBusy = true; await Task.Run(() => { sdsSession = SwagWPFContainer.SwagDataService.SwagDataSets.Where(sds => sds.Display == SessionName).FirstOrDefault(); }); if (sdsSession != null) { SwagWPFContainer.SwagDataService.Init(sdsSession); SwagDataSet = sdsSession; SwagItemPreOrderIterator <SwagData> itrSwagData = SwagDataSet.CreateIterator(); for (SwagData sd = itrSwagData.First(); !itrSwagData.IsDone; sd = itrSwagData.Next()) { if (sd is SwagDataTable sdt) { if (!sdt.IsInitialized) { SwagDataGrid.InitSwagDataTable(sdt); } sdt.FilterCommand.Execute(null); } } } SwagWindow.GlobalIsBusy = false; }
private async void Search_OnSearch(object sender, RoutedEventArgs e) { SearchTextBox searchTextBox = (SearchTextBox)sender; SwagData swagData = (SwagData)((SwagTabItem)searchTextBox.DataContext).ViewModel; SwagItemPreOrderIterator <SwagData> itrSwagData = SwagDataSet.CreateIterator(); SwagWindow.GlobalIsBusy = true; await Task.Run(() => { for (SwagData sd = itrSwagData.First(); !itrSwagData.IsDone; sd = itrSwagData.Next()) { if (sd is SwagDataTable sdg && !sdg.IsInitialized) { SwagDataGrid.InitSwagDataTable(sdg); } } }); SwagWindow.GlobalIsBusy = false; SwagDataResult swagDataResult = SwagDataSet.Search(searchTextBox.Text, searchTextBox.FilterMode, (sdc, sdr, searchValue, filterMode) => { String compareTarget = sdr.DataRow[sdc.ColumnName].ToString(); String compareValue = searchValue; return(SearchHelper.Evaluate(compareTarget, compareValue, false, filterMode, false)); }); swagData.SwagDataResult = swagDataResult; }