private void LoadProjects()
 {
     this.Projects.Clear();
     foreach (string project in Directory.EnumerateDirectories(this.Folder + "/RADS/projects"))
     {
         DirectoryInfo dirInfo       = new DirectoryInfo(project);
         string        projectFolder = String.Format("{0}/RADS/projects/{1}", this.Folder, dirInfo.Name);
         if (Directory.Exists(projectFolder + "/releases"))
         {
             List <string> releases = Directory.EnumerateDirectories(projectFolder + "/releases").Select(x => { return(new DirectoryInfo(x).Name); }).Where(x => IsReleaseVersion(x)).ToList();
             if (releases.Count() > 0)
             {
                 try
                 {
                     LeagueRADSProject newProject = new LeagueRADSProject(this, dirInfo.Name, releases);
                     this.Projects.Add(newProject);
                 }
                 catch (LeagueRADSProject.NoValidReleaseException)
                 {
                 }
             }
         }
     }
     if (this.Projects.Count == 0)
     {
         throw new NoValidProjectException();
     }
 }
        private LeagueRADSProjectRelease GetProjectLatestRelease(string projectName)
        {
            LeagueRADSProject foundProject = GetProject(projectName);

            if (foundProject == null)
            {
                throw new ProjectNotFoundException();
            }
            LeagueRADSProjectRelease foundProjectRelease = foundProject.GetLatestRelease();

            if (foundProjectRelease == null)
            {
                throw new ProjectReleaseNotFoundException();
            }
            return(foundProjectRelease);
        }
        public LeagueRADSProjectRelease(LeagueRADSProject project, string version)
        {
            this.Project      = project;
            this.Version      = version;
            this.VersionValue = LeagueRADSInstallation.GetReleaseValue(version);
            string manifestPath = this.GetFolder() + "/releasemanifest";

            if (File.Exists(manifestPath))
            {
                this.GameManifest = new ReleaseManifestFile(manifestPath);
            }
            else
            {
                throw new ReleaseManifestNotFoundException();
            }
            this.LoadOriginalManifest();
        }