public List <string> PrintBOM(List <String> IgnoreList, bool AddDefaultIgnoreList = true) { List <string> ToIgnore; if (AddDefaultIgnoreList) { ToIgnore = new List <string>() { "FENIXINTERNALCONNECTIONPAD" }; } else { ToIgnore = new List <string>(); } ToIgnore.AddRange(IgnoreList); List <Tuple <string, string, string> > Lines = new List <Tuple <string, string, string> >(); string Header = "Count,Name,Type,Package,Value,MfgPartNumber,RefDes"; Lines.Add(new Tuple <string, string, string>("!", "!", Header)); int partcount = 0; List <String> re = new List <string>(); foreach (var a in DeviceTree) { //Console.WriteLine(a.Key); foreach (var b in a.Value) { if (ToIgnore.Contains(b.Value.PackageName) == false) { partcount += b.Value.RefDes.Count; string L = String.Format("{3},{4}, {0}, {1}, {2}, {5}, ", b.Value.Name, b.Value.PackageName, b.Value.Value, b.Value.RefDes.Count, b.Value.Combined(), b.Value.MfgPartNumber); foreach (var c in b.Value.RefDes) { L = L + String.Format("{0} ", c.NameOnBoard); } Lines.Add(new Tuple <string, string, string>(b.Value.Name, b.Value.Value, L)); } } } foreach (var a in Lines.OrderBy(x => x.Item1).ThenBy(x => x.Item2)) { re.Add(a.Item3); } re.Add(String.Format("{0} parts total.", partcount)); return(re); }
public void AppendExtension(string extension) { ToIgnore = ToIgnore.Select(x => x + extension.Replace("*", string.Empty)).ToList(); }