Пример #1
0
        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));
            }
        }
Пример #2
0
 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();
 }
Пример #3
0
        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);
        }