Ejemplo n.º 1
0
        /// <summary>
        /// Upgrades version to the particular version
        /// </summary>
        /// <remarks>It internally calls the Downgrade of the immediate lower version, and so on</remarks>
        /// <param name="source"></param>
        /// <param name="version"></param>
        /// <returns>downgraded version</returns>
        private dynamic DowngradeVersionTo(dynamic source, VersionNumbers version)
        {
            var targetObj     = source;
            var targetVersion = VersionCache.GetVersion(targetObj.GetType());

            while (targetVersion > version)
            {
                var tempObj = targetObj.Downgrade();
                if (tempObj == null)
                {
                    break;
                }

                targetVersion = VersionCache.GetVersion(tempObj.GetType());

                targetObj = tempObj;
            }

            return(targetObj);
        }
Ejemplo n.º 2
0
        public static VersionNumbers GetVersionNumbers(string pVersionString)
        {
            string tVersion = "Unknown";

            string[] aVersion;

            VersionNumbers vn = new VersionNumbers();

            if (string.IsNullOrEmpty(pVersionString))
            {
                return(vn);
            }
            aVersion = pVersionString.Split('.');
            if (aVersion.Length > 0)
            {
                tVersion = aVersion[0];
                vn.major = uint.Parse(aVersion[0]);
            }
            if (aVersion.Length > 1)
            {
                tVersion += "." + aVersion[1];
                vn.minor  = uint.Parse(aVersion[1]);
            }
            if (aVersion.Length > 2)
            {
                tVersion += "." + aVersion[2].PadLeft(4, '0');
                vn.patch  = uint.Parse(aVersion[2]);
            }
            if (aVersion.Length > 3)
            {
                tVersion += "." + aVersion[3].PadLeft(4, '0');
                vn.build  = uint.Parse(aVersion[3]);
            }

            return(vn);;
        }//string GetVersionNumbers(Version pVersion)