public void CopyTo(WorkListFilter filter) { using (var ms = new MemoryStream()) { XmlSerializer xs = new XmlSerializer(typeof(WorkListFilter)); xs.Serialize(ms, this); ms.Position = 0; StreamReader sr = new StreamReader(ms); XmlReader xr = XmlReader.Create(sr); xr.Read(); xr.MoveToElement(); xr.MoveToContent(); filter.ReadXml(xr); } }
public void ApplyFilter(WorkListFilter filter, object sender) { WorklistViewModel viewModel = (WorklistViewModel)DataContext; if ((viewModel != null) && (viewModel == sender)) { viewModel.Filter = filter; viewModel.CreateNodes(); } RefreshTree(); }
public static void CreateNodes(CaseList caseList, CaseListItem root, WorkListFilter filter) { CaseListItem caseNode = null; root.Slides.Clear(); foreach (Case caseItem in caseList.Cases) { caseNode = null; if (filter == null) { caseNode = new CaseListItem(caseItem); } else { if (filter.MatchCase(caseItem) != WorkListFilterParameter.FilterMatchType.NotMatch) { caseNode = new CaseListItem(caseItem); } } if (caseNode != null) { // todo: add children using cached data // create place holder if no children if (caseNode.Slides.Count == 0) { caseNode.Slides.Add(new CaseListItem { Kind = CaseListItemKind.PlaceHolder }); } root.Slides.Add(caseNode); } } }
bool OnActiveWorklistFilterEdit(WorkListFilter filter) { WorklistFilterEditWindow window = new WorklistFilterEditWindow(new WorklistFilterEditViewModel(filter)); window.Owner = this; window.ShowDialog(); return (window.DialogResult.HasValue && window.DialogResult.Value); }