コード例 #1
0
        internal void FromGlobalVariable(string value)
        {
            if (!string.IsNullOrEmpty(value))
            {
                if (value.Contains("."))
                {
                    string[] array = value.Split(".".ToCharArray());
                    if (array.Length != 4)
                    {
                        throw new ApplicationException("Invalid versioning style \"" + value + "\".");
                    }
                    this.Major    = BuildVersionIncrementor.Instance.Incrementors[array[0]];
                    this.Minor    = BuildVersionIncrementor.Instance.Incrementors[array[1]];
                    this.Build    = BuildVersionIncrementor.Instance.Incrementors[array[2]];
                    this.Revision = BuildVersionIncrementor.Instance.Incrementors[array[3]];
                }
                else
                {
                    OLD_BuildVersioningStyleType oLD_BuildVersioningStyleType = (OLD_BuildVersioningStyleType)Enum.Parse(typeof(OLD_BuildVersioningStyleType), value);
                    OLD_IncrementStyle           major    = OLD_IncrementStyle.None;
                    OLD_IncrementStyle           minor    = OLD_IncrementStyle.None;
                    OLD_IncrementStyle           revision = OLD_IncrementStyle.None;
                    OLD_IncrementStyle           build;
                    switch (oLD_BuildVersioningStyleType)
                    {
                    case OLD_BuildVersioningStyleType.DeltaBaseDate:
                        build    = OLD_IncrementStyle.DeltaBaseDate;
                        revision = OLD_IncrementStyle.TimeStamp;
                        break;

                    case OLD_BuildVersioningStyleType.YearDayOfYear_Timestamp:
                        build    = OLD_IncrementStyle.YearDayOfYear;
                        revision = OLD_IncrementStyle.TimeStamp;
                        break;

                    case OLD_BuildVersioningStyleType.DeltaBaseYear:
                        build    = OLD_IncrementStyle.DeltaBaseYearDayOfYear;
                        revision = OLD_IncrementStyle.TimeStamp;
                        break;

                    case OLD_BuildVersioningStyleType.YearDayOfYear_AutoIncrement:
                        build    = OLD_IncrementStyle.YearDayOfYear;
                        revision = OLD_IncrementStyle.Increment;
                        break;

                    case OLD_BuildVersioningStyleType.AutoIncrementBuildVersion:
                        build = OLD_IncrementStyle.Increment;
                        break;

                    default:
                        throw new ApplicationException("Unknown (old) versioning type: " + oLD_BuildVersioningStyleType.ToString());
                    }
                    this.FromOldIncrementStyle(major, minor, build, revision);
                }
            }
            else
            {
                this.Major = (this.Minor = (this.Build = (this.Revision = null)));
            }
        }
コード例 #2
0
        /// <summary>
        /// Initializes this instances based on a global variable value.
        /// </summary>
        /// <param name="value">The value.</param>
        internal void FromGlobalVariable(string value)
        {
            if (!string.IsNullOrEmpty(value))
            {
                if (value.Contains("."))
                {
                    // Assuming new enum

                    string[] styles = value.Split(".".ToCharArray());

                    if (styles.Length == 4)
                    {
                        Major    = BuildVersionIncrementor.Instance.Incrementors[styles[0]];
                        Minor    = BuildVersionIncrementor.Instance.Incrementors[styles[1]];
                        Build    = BuildVersionIncrementor.Instance.Incrementors[styles[2]];
                        Revision = BuildVersionIncrementor.Instance.Incrementors[styles[3]];

                        /*OLD_IncrementStyle major = (OLD_IncrementStyle)Enum.Parse(typeof(OLD_IncrementStyle), styles[0]);
                         * OLD_IncrementStyle minor = (OLD_IncrementStyle)Enum.Parse(typeof(OLD_IncrementStyle), styles[1]);
                         * OLD_IncrementStyle build = (OLD_IncrementStyle)Enum.Parse(typeof(OLD_IncrementStyle), styles[2]);
                         * OLD_IncrementStyle revision = (OLD_IncrementStyle)Enum.Parse(typeof(OLD_IncrementStyle), styles[3]);
                         *
                         * FromOldIncrementStyle(major, minor, build, revision);*/
                    }
                    else
                    {
                        throw (new ApplicationException("Invalid versioning style \"" + value + "\"."));
                    }
                }
                else
                {
                    // Old enum

                    OLD_BuildVersioningStyleType oldStyle = (OLD_BuildVersioningStyleType)Enum.Parse(typeof(OLD_BuildVersioningStyleType), value);

                    OLD_IncrementStyle major    = OLD_IncrementStyle.None;
                    OLD_IncrementStyle minor    = OLD_IncrementStyle.None;
                    OLD_IncrementStyle build    = OLD_IncrementStyle.None;
                    OLD_IncrementStyle revision = OLD_IncrementStyle.None;

                    switch (oldStyle)
                    {
                    case OLD_BuildVersioningStyleType.AutoIncrementBuildVersion:
                        build = OLD_IncrementStyle.Increment;
                        break;

                    case OLD_BuildVersioningStyleType.DeltaBaseDate:
                        build    = OLD_IncrementStyle.DeltaBaseDate;
                        revision = OLD_IncrementStyle.TimeStamp;
                        break;

                    case OLD_BuildVersioningStyleType.DeltaBaseYear:
                        build    = OLD_IncrementStyle.DeltaBaseYearDayOfYear;
                        revision = OLD_IncrementStyle.TimeStamp;
                        break;

                    case OLD_BuildVersioningStyleType.YearDayOfYear_AutoIncrement:
                        build    = OLD_IncrementStyle.YearDayOfYear;
                        revision = OLD_IncrementStyle.Increment;
                        break;

                    case OLD_BuildVersioningStyleType.YearDayOfYear_Timestamp:
                        build    = OLD_IncrementStyle.YearDayOfYear;
                        revision = OLD_IncrementStyle.TimeStamp;
                        break;

                    default:
                        throw (new ApplicationException("Unknown (old) versioning type: " + oldStyle.ToString()));
                    }

                    FromOldIncrementStyle(major, minor, build, revision);
                }
            }
            else
            {
                Major = Minor = Build = Revision = null;
            }
        }