void CopyCmdExecuted(object target, ExecutedRoutedEventArgs e) { ListView lv = e.OriginalSource as ListView; string copyContent = String.Empty; int count = 0; foreach (object item in lv.SelectedItems) { if (count > 0) { copyContent += Environment.NewLine; } if (item is SearchableXMLItem) { SearchableXMLItem policyItem = (SearchableXMLItem)item; copyContent += policyItem.ParentPolicy.Name + "\t" + policyItem.Type + "\t" + policyItem.Root + "\t" + policyItem.Path + "\t" + policyItem.ResolvedPath + "\t" + policyItem.Name + "\t" + policyItem.Value; } count++; } try { Clipboard.SetData(DataFormats.Text, copyContent); } catch { } }
private List <SearchableXMLItem> GetRecursiveXMLSearchItems(Policy ParentPol, String Type, String Root, String Path, String ResolvedPath, PolReaderXMLNode PolNode) { List <SearchableXMLItem> SpItems = new List <SearchableXMLItem>(); string Name = ""; bool CLSIDfound = false; foreach (PolReaderXMLProperty prop in PolNode.Properties) { if (prop.Name.Equals("name", StringComparison.CurrentCultureIgnoreCase)) { Name = "\\" + prop.Value; } else if (prop.Name.Equals("clsid", StringComparison.CurrentCultureIgnoreCase)) { CLSIDfound = true; } } if (!CLSIDfound) { Name = ""; } foreach (PolReaderXMLProperty prop in PolNode.Properties) { if (!(prop.Name.Equals("name", StringComparison.CurrentCultureIgnoreCase) || (prop.Name.Equals("clsid", StringComparison.CurrentCultureIgnoreCase)))) { SearchableXMLItem xmlNode = new SearchableXMLItem(); xmlNode.ParentPolicy = ParentPol; xmlNode.Linkage = -1; xmlNode.Name = prop.Name; xmlNode.Value = prop.Value; xmlNode.Root = Root; xmlNode.ResolvedPath = ResolvedPath + Name; xmlNode.Path = Path; xmlNode.Type = Type; SpItems.Add(xmlNode); } } foreach (PolReaderXMLNode node in PolNode.Children) { SpItems.AddRange(GetRecursiveXMLSearchItems(ParentPol, Type, Root, Path + "\\" + node.Name, ResolvedPath + Name, node)); } return(SpItems); }
public bool FilterListView(Object item) { SearchableXMLItem Spi = (SearchableXMLItem)item; // return (OUFilter.Text.Trim().Length == 0 || Spi.ParentPolicy.IsLinked(OUFilter.Text)) && ((FilterText.Text.Length < 1 || (Spi.Key.ToUpper().Contains(FilterText.Text.ToUpper()) || return((FilterText.Text.Length < 1 || (Spi.Name.ToUpper().Contains(FilterText.Text.ToUpper()) || Spi.ParentPolicy.Name.ToUpper().Contains(FilterText.Text.ToUpper()) || Spi.Value.ToUpper().Contains(FilterText.Text.ToUpper()) || Spi.Path.ToUpper().Contains(FilterText.Text.ToUpper()) || Spi.Root.ToUpper().Contains(FilterText.Text.ToUpper()))) && ((IncludeMachine.IsChecked.Value && Spi.Type.Equals("Machine")) || (IncludeUser.IsChecked.Value && Spi.Type.Equals("Users"))) && (IncludeUnlink.IsChecked.Value || (!IncludeUnlink.IsChecked.Value && Spi.ParentPolicy.LinkedTo.Count > 0))); }