예제 #1
0
        public static bool LoadAmbientes()
        {
            if (Ambiente.ListAmbientes.Count > 0)
            {
                Ambiente.ListAmbientes.Clear();
            }

            // Busca o diretorio configurado no RMTools.config
            DirectoryInfo dirTotvs     = new DirectoryInfo(ToolProcess.DirectoryPath());
            var           listDirTotvs = dirTotvs.EnumerateDirectories();

            try
            {
                foreach (var dirCorporeRM  in listDirTotvs)
                {
                    DirectoryInfo dirCorporeRMInfo = new DirectoryInfo(dirCorporeRM.FullName);
                    var           listDirCorporeRM = dirCorporeRMInfo.EnumerateDirectories();

                    foreach (var subDir in listDirCorporeRM)
                    {
                        if (subDir.Name == "RM.Net")
                        {
                            if (File.Exists(subDir.FullName + @"\RM.Host.Service.exe"))
                            {
                                Ambiente ambiente = new Ambiente();
                                ambiente.name      = dirCorporeRM.Name;
                                ambiente.path      = dirCorporeRM.FullName;
                                ambiente.pathRmnet = subDir.FullName;
                                FileInfo libVersion = new FileInfo(subDir.FullName + @"\RM.Version.dll");
                                ambiente.libVersion   = FileVersionInfo.GetVersionInfo(libVersion.FullName).FileVersion.ToString();
                                ambiente.rmExe        = subDir.FullName + @"\RM.exe";
                                ambiente.hostManager  = subDir.FullName + @"\RM.Host.ServiceManager.exe";
                                ambiente.aliasManager = subDir.FullName + @"\RM.AliasManager.exe";

                                Ambiente.ListAmbientes.Add(ambiente);
                            }
                        }
                    }
                }
                if (Ambiente.ListAmbientes.Count() == 0)
                {
                    if (ToolProcess.Print("Diretório inválido!\nDeseja configurar um novo diretório?", "y") == System.Windows.Forms.DialogResult.Yes)
                    {
                        FormSelecionarDiretorioPadrao formSelecionarDiretorio = new FormSelecionarDiretorioPadrao();
                        formSelecionarDiretorio.ShowDialog();
                        if (!LoadAmbientes())
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                return(true);
            }
            catch (System.Exception err)
            {
                Console.WriteLine(err);
                return(false);
            }
        }