/// <summary>
        /// 讀取Tray專案
        /// </summary>
        public void LoadTrayProj()
        {
            string tray_projectDirectory = Properties.OrderManagerProps.Default.tray_projectDirectory;
            string tray_exePath          = Properties.Settings.Default.tray_exePath;

            if (Directory.Exists(tray_projectDirectory) == false && File.Exists(tray_exePath) != false)
            {
                OrderManagerFunctions omFunc = new OrderManagerFunctions();
                omFunc.AutoDetectSoftwareProjectPath((int)_softwareID.Tray);
                tray_projectDirectory = Properties.OrderManagerProps.Default.tray_projectDirectory;
            }
            if (Directory.Exists(tray_projectDirectory) == false || File.Exists(tray_exePath) == false)
            {
                return;
            }

            Caselist_Tray = new List <TrayInformation>();
            try
            {
                DirectoryInfo Dinfo = new DirectoryInfo(tray_projectDirectory);
                foreach (DirectoryInfo folder in Dinfo.GetDirectories())
                {
                    string DirectoryName = folder.ToString();
                    string XmlPath       = Dinfo.ToString() + DirectoryName + @"\" + DirectoryName + ".tml";

                    if (File.Exists(XmlPath) == false)
                    {
                        continue;
                    }
                    else
                    {
                        if (LoadXml((int)_softwareID.Tray, XmlPath) == false)
                        {
                            continue;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.RecordLog(new StackTrace(true).GetFrame(0).GetFileLineNumber().ToString(), "ProjectHandle.cs LoadtrayProj Exception", ex.Message);
            }

            Sorter.Sort_Tray(Caselist_Tray, 0, (Caselist_Tray.Count - 1), true);
            CaseShowEvent((int)_softwareID.Tray);
        }
        /// <summary>
        /// 讀取ImplantPlanning專案
        /// </summary>
        public void LoadImplantProjV2()
        {
            string implant_projectDirectory = Properties.OrderManagerProps.Default.implant_projectDirectory;
            string implant_exePath          = Properties.Settings.Default.implant_exePath;

            if (Directory.Exists(implant_projectDirectory) == false && File.Exists(implant_exePath) != false)
            {
                OrderManagerFunctions omFunc = new OrderManagerFunctions();
                omFunc.AutoDetectSoftwareProjectPath((int)_softwareID.Implant);
                implant_projectDirectory = Properties.OrderManagerProps.Default.implant_projectDirectory;
            }
            if (Directory.Exists(implant_projectDirectory) == false || File.Exists(implant_exePath) == false)
            {
                return;
            }

            //Implant外部清單
            Caselist_ImplantOuterCase = new List <ImplantOuterInformation>();

            DirectoryInfo dInfo = new DirectoryInfo(implant_projectDirectory);

            // C:\IntewareData\Implant\2020130102946\202001301037_final_mi\LinkStation\ManufacturingDir\(Guide生出來的物件)
            foreach (DirectoryInfo folder in dInfo.GetDirectories())
            {
                // 這層是C:\IntewareData\Implant\

                string XmlPath = folder.FullName + @"\" + folder.ToString() + ".xml";
                if (File.Exists(XmlPath) == false)
                {
                    continue;
                }
                else
                {
                    if (LoadXml((int)_softwareID.Implant, XmlPath) == false)
                    {
                        continue;
                    }
                }
            }

            Sorter.Sort_Implant(Caselist_ImplantOuterCase, 0, (Caselist_ImplantOuterCase.Count - 1), true);
            CaseShowEvent((int)_softwareID.Implant);
        }
        /// <summary>
        /// 讀取OrthoAnalysis專案
        /// </summary>
        public void LoadOrthoProj()
        {
            string ortho_exePath          = Properties.Settings.Default.ortho_exePath;
            string ortho_projectDirectory = Properties.OrderManagerProps.Default.ortho_projectDirectory;

            if (Directory.Exists(ortho_projectDirectory) == false && File.Exists(ortho_exePath) != false)
            {
                OrderManagerFunctions omFunc = new OrderManagerFunctions();
                omFunc.AutoDetectSoftwareProjectPath((int)_softwareID.Ortho);
                ortho_projectDirectory = Properties.OrderManagerProps.Default.ortho_projectDirectory;
            }
            if (Directory.Exists(ortho_projectDirectory) == false || File.Exists(ortho_exePath) == false)
            {
                return;
            }

            //Ortho外部清單
            Caselist_OrthoOuterCase = new List <OrthoOuterInformation>();
            DirectoryInfo dInfo = new DirectoryInfo(ortho_projectDirectory);

            // C:\IntewareData\OrthoAnalysisV3\OrthoData\Test_1216\2019-12-16-1543\Test_1216.xml
            foreach (DirectoryInfo folder in dInfo.GetDirectories())
            {
                // 這層是C:\IntewareData\OrthoAnalysisV3\OrthoData\folder\
                string OuterXmlPath = folder.FullName + @"\PatientInfo.xml";
                if (File.Exists(OuterXmlPath) == false)
                {
                    continue;
                }
                else
                {
                    if (LoadXml((int)_softwareID.Ortho, OuterXmlPath) == false)
                    {
                        continue;
                    }
                }
            }
            Sorter.Sort_Ortho(Caselist_OrthoOuterCase, 0, (Caselist_OrthoOuterCase.Count - 1), true);
            CaseShowEvent((int)_softwareID.Ortho);
        }