Ejemplo n.º 1
0
        public static bool GetComponentPath(Part displayPart, CaxDownUpLoad.DownUpLoadDat cDownUpLoadDat, ref Dictionary <string, PartDirData> DicPartDirData)
        {
            try
            {
                PartDirData sPartDirData = new PartDirData();
                sPartDirData.PartLocalDir   = displayPart.FullPath;
                sPartDirData.PartServer1Dir = string.Format(@"{0}\{1}", cDownUpLoadDat.Server_ShareStr, Path.GetFileName(displayPart.FullPath));
                DicPartDirData.Add(Path.GetFileNameWithoutExtension(displayPart.FullPath), sPartDirData);
                //listView1.Items.Add(Path.GetFileName(displayPart.FullPath));

                List <Component> ListChildrenComp = new List <Component>();
                CaxAsm.GetCompChildren(displayPart.ComponentAssembly.RootComponent, ref ListChildrenComp);
                foreach (Component i in ListChildrenComp)
                {
                    if (DicPartDirData.TryGetValue(i.DisplayName, out sPartDirData))
                    {
                        continue;
                    }

                    if (!File.Exists(string.Format(@"{0}\{1}", Path.GetDirectoryName(displayPart.FullPath), i.DisplayName + ".prt")))
                    {
                        MessageBox.Show("零件:" + i.DisplayName + "找不到,請檢察本機資料夾是否存在");
                        return(false);
                    }

                    sPartDirData = new PartDirData();
                    string ServerPartPath = string.Format(@"{0}\{1}", cDownUpLoadDat.Server_ShareStr, i.DisplayName + ".prt");
                    sPartDirData.PartLocalDir   = string.Format(@"{0}\{1}", Path.GetDirectoryName(displayPart.FullPath), i.DisplayName + ".prt");
                    sPartDirData.PartServer1Dir = ServerPartPath;
                    DicPartDirData.Add(i.DisplayName, sPartDirData);
                    //listView1.Items.Add(i.DisplayName + ".prt");
                }
            }
            catch (System.Exception ex)
            {
                return(false);
            }
            return(true);
        }