public GetAppReleaseByVersion ( string version ) : |
||
version | string | |
return |
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; }