public static AppVersionCollection SingletonInstance() { var versionCollection = new AppVersionCollection(); versionCollection.Init(); return(versionCollection); }
public AppVersion GetNewVersion() { AppInfo appInfo = AppInfo.Get(this._appName); if (appInfo == null) { return(null); } Version version = Version.Parse(this._version); VersionType acceptVersion = UserAcceptVersionType(_userCode, appInfo.App_Id); acceptVersion = acceptVersion | VersionType.Release;//always contain RELEASE version long verNumber = version.GetVersionNumber(); var collection = AppVersionCollection.SingletonInstance().FindAll(it => it.App_Id == appInfo.App_Id && it.VersionNumber > verNumber && (it.Version_Type & acceptVersion) == it.Version_Type); if (collection == null || collection.Count <= 0) { return(null); } var forceUpgrades = collection.FindAll(it => it.Is_Force_Upgrade == 1);//force upgrade app versions var orderedList = collection.OrderByDescending(it => it.VersionNumber); AppVersion latestVersion = orderedList.FirstOrDefault(); if (latestVersion.Is_Force_Upgrade != 1) { latestVersion.Is_Force_Upgrade = (forceUpgrades != null && forceUpgrades.Count > 0) ? 1 : 0; } return(latestVersion); }