示例#1
0
 public 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
                 {
                     LeagueProject newProject = new LeagueProject(this, dirInfo.Name, releases);
                     this.Projects.Add(newProject);
                 }
                 catch (LeagueProject.NoValidReleaseException)
                 {
                 }
             }
         }
     }
     if (this.Projects.Count == 0)
     {
         throw new NoValidProjectException();
     }
 }
            public LeagueProjectRelease(LeagueProject project, string version)
            {
                this.Project      = project;
                this.Version      = version;
                this.VersionValue = LeagueInstallation.GetReleaseValue(version);
                string manifestPath = this.GetFolder() + "/releasemanifest";

                if (File.Exists(manifestPath))
                {
                    this.GameManifest = new ReleaseManifest(manifestPath);
                }
                else
                {
                    throw new ReleaseManifestNotFoundException();
                }
            }
        private LeagueProjectRelease GetProjectLatestRelease(string projectName)
        {
            LeagueProject foundProject = Installation.GetProject(projectName);

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

            if (foundProjectRelease == null)
            {
                throw new ProjectReleaseNotFoundException();
            }
            return(foundProjectRelease);
        }