GetAppReleaseByVersion() public method

public GetAppReleaseByVersion ( string version ) : AppRelease
version string
return AppRelease
Beispiel #1
0
        static void AppendCompatibleRepo(UserModel m, string file)
        {
            string appVersion = Path.GetFileName (Path.GetDirectoryName (file));
            AppRelease rel = m.GetAppReleaseByVersion (appVersion);
            if (rel == null || !rel.CompatibleAppReleaseId.HasValue)
                return;
            rel = m.GetAppRelease (rel.CompatibleAppReleaseId.Value);
            if (rel == null)
                return;

            XmlDocument repDoc = new XmlDocument ();
            repDoc.Load (file);
            XmlElement repoElem = repDoc.CreateElement ("Repository");
            repDoc.DocumentElement.AppendChild (repoElem);
            XmlElement elem = repDoc.CreateElement ("Url");
            elem.InnerText = "../" + rel.AppVersion + "/main.mrep";
            repoElem.AppendChild (elem);
            repDoc.Save (file);
        }
        static string[] GetCompatibleAppVersions(UserModel m, List<AppRelease> allAppReleases, string appVersion)
        {
            string[] res;
            if (!cachedCompatibleVersions.TryGetValue (appVersion, out res)) {
                var appRel = m.GetAppReleaseByVersion (appVersion);

                List<string> versions = new List<string> ();
                versions.Add (appVersion);

                if (appRel.CompatibleAppReleaseId.HasValue) {
                    var compatRel = m.GetAppRelease (appRel.CompatibleAppReleaseId.Value);
                    if (compatRel != null) {
                        foreach (var app in allAppReleases) {
                            if (Mono.Addins.Addin.CompareVersions (app.AppVersion, appRel.AppVersion) > 0 && Mono.Addins.Addin.CompareVersions (compatRel.AppVersion, app.AppVersion) >= 0)
                                versions.Add (app.AppVersion);
                        }
                    }
                }

                res = cachedCompatibleVersions [appVersion] = versions.ToArray ();
            }
            return res;
        }