private Tuple <bool, bool> FindCircuitCount(string line) { //tuple values are: "found circuit?" true/false and "finished reading board section?" true/false if (line.Contains("Fiducial")) { if (CircuitList.Count > 0) { --CircuitCount; } return(Tuple.Create(false, true)); } Regex reCircuit = new Regex("\\s+Circuit[\\s:\"]+Circuit"); Regex reOffset = new Regex("\\s+Circuit[\\s:\"]+(Offset |\\d{ 1,2})"); Match matchCircuit = reCircuit.Match(line); Match matchOffset = reOffset.Match(line); try { string[] sep = new string[] { "\"" }; if (matchOffset.Success) { string[] temp = line.Split(sep, StringSplitOptions.RemoveEmptyEntries); if (!temp[5].Equals(temp[9])) { ++CircuitCount; return(Tuple.Create(true, false)); } else { return(Tuple.Create(false, false)); } } else if (matchCircuit.Success) { string[] temp = line.Split(sep, StringSplitOptions.RemoveEmptyEntries); if (CircuitList.Add(temp[1])) { ++CircuitCount; return(Tuple.Create(true, false)); } else { return(Tuple.Create(false, false)); } } else { return(Tuple.Create(false, false)); } } catch (Exception e) { MessageBox.Show("The program had a problem parsing the board template section.\nReturning current count of " + CircuitCount.ToString() + " but could be wrong.\n" + e.Message, "Ci2Parser:FindCircuitCount()", MessageBoxButton.OK, MessageBoxImage.Warning); return(Tuple.Create(false, true)); } }
public void ClearData() { CircuitCount = -1; PanelLength = null; PanelWidth = null; CircuitList.Clear(); FileType = null; FileName = null; FullFilePath = null; CustomerDbName = null; ProgramName = null; MainCircuitName = null; MachineName = null; Pass = null; DateCreated = null; Lines.Clear(); Refdesmap.Clear(); Feedermap.Clear(); BypassedRefDesMap.Clear(); PlacementMap.Clear(); }
List <TreeViewModel> GetChildrenNodes(List <CircuitList> circuits, CircuitList circuit) { string parentId = circuit.CircuitId; List <TreeViewModel> circuitList = new List <TreeViewModel>(); var children = circuits.Where(c => c.ParentId == parentId); foreach (var item in children) { TreeViewModel node = new TreeViewModel(); node.Id = item.CircuitId; node.Text = item.CircuitName; if (GetChildrenNodes(circuits, item).Count != 0) { node.Nodes = GetChildrenNodes(circuits, item); } circuitList.Add(node); } return(circuitList); }