Esempio n. 1
0
        private string Increment(string value, DateTime buildStart, DateTime projectStart, string projectFilePath)
        {
            string arg  = buildStart.DayOfYear.ToString("000");
            int    num  = buildStart.Year - projectStart.Year;
            string text = buildStart.ToString("yy");
            int    num2 = 0;

            int.TryParse(value, out num2);
            if (num2 < 0)
            {
                num2 = 0;
            }
            string result;

            switch (this.IncrementStyle)
            {
            case OLD_IncrementStyle.None:
                result = value;
                break;

            case OLD_IncrementStyle.DayStamp:
                result = buildStart.Day.ToString();
                break;

            case OLD_IncrementStyle.DeltaBaseDate:
            {
                DateSpan dateDifference = DateSpan.GetDateDifference(buildStart, projectStart);
                result = string.Format("{0}{1:00}", dateDifference.Years * 12 + dateDifference.Months, dateDifference.Days);
                break;
            }

            case OLD_IncrementStyle.DeltaBaseYearDayOfYear:
                result = string.Format("{0}{1:000}", num, arg);
                break;

            case OLD_IncrementStyle.DeltaBaseYear:
                result = num.ToString();
                break;

            case OLD_IncrementStyle.Increment:
                result = (num2 + 1).ToString();
                break;

            case OLD_IncrementStyle.MonthStamp:
                result = buildStart.Month.ToString();
                break;

            case OLD_IncrementStyle.TimeStamp:
                result = string.Format("{0:00}{1:00}", buildStart.Hour, buildStart.Minute);
                break;

            case OLD_IncrementStyle.YearStamp:
                result = buildStart.Year.ToString();
                break;

            case OLD_IncrementStyle.YearDayOfYear:
                result = string.Format("{0}{1:000}", text, arg);
                break;

            case OLD_IncrementStyle.YearDecadeStamp:
                result = text;
                break;

            case OLD_IncrementStyle.MonthAndDayStamp:
                result = string.Format("{0:00}{1:00}", buildStart.Month, buildStart.Day);
                break;

            case OLD_IncrementStyle.DeltaBaseDateInDays:
                result = ((int)buildStart.Subtract(projectStart).TotalDays).ToString();
                break;

            default:
                throw new ApplicationException("Unknown increment style: " + this.IncrementStyle.ToString());
            }
            return(result);
        }
Esempio n. 2
0
            internal override string IncrementImpl(string value, DateTime buildStart, DateTime projectStart)
            {
                var ds = DateSpan.GetDateDifference(buildStart, projectStart);

                return($"{(ds.Years * 12) + ds.Months}{ds.Days:00}");
            }
        /// <summary>
        /// Increments the specified value.
        /// </summary>
        /// <param name="value">The value to increment.</param>
        /// <param name="buildStart">The build start date/time.</param>
        /// <param name="projectStart">The project start date/time.</param>
        /// <returns>The incremented value.</returns>
        private string Increment(string value, DateTime buildStart, DateTime projectStart, string projectFilePath)
        {
            string dayOfyear  = buildStart.DayOfYear.ToString("000");
            int    deltaYears = buildStart.Year - projectStart.Year;
            string yearDecade = buildStart.ToString("yy");

            int intValue = 0;

            Int32.TryParse(value, out intValue);
            if (intValue < 0)
            {
                intValue = 0;
            }

            switch (IncrementStyle)
            {
            case OLD_IncrementStyle.None:
                return(value);

            case OLD_IncrementStyle.Increment:
                return((intValue + 1).ToString());

            case OLD_IncrementStyle.TimeStamp:
                return(string.Format("{0:00}{1:00}", buildStart.Hour, buildStart.Minute));

            case OLD_IncrementStyle.YearStamp:
                return((buildStart.Year).ToString());

            case OLD_IncrementStyle.DeltaBaseDate:
                DateSpan ds = DateSpan.GetDateDifference(buildStart, projectStart);
                return(string.Format("{0}{1:00}", (ds.Years * 12) + ds.Months, ds.Days));

            case OLD_IncrementStyle.DeltaBaseDateInDays:
                TimeSpan ts = buildStart.Subtract(projectStart);
                return(((int)ts.TotalDays).ToString());

            case OLD_IncrementStyle.YearDayOfYear:
                return(string.Format("{0}{1:000}", yearDecade, dayOfyear));

            case OLD_IncrementStyle.DeltaBaseYearDayOfYear:
                return(string.Format("{0}{1:000}", deltaYears, dayOfyear));

            case OLD_IncrementStyle.DeltaBaseYear:
                return(deltaYears.ToString());

            case OLD_IncrementStyle.YearDecadeStamp:
                return(yearDecade);

            case OLD_IncrementStyle.MonthStamp:
                return(buildStart.Month.ToString());

            case OLD_IncrementStyle.DayStamp:
                return(buildStart.Day.ToString());

            case OLD_IncrementStyle.MonthAndDayStamp:
                return(string.Format("{0:00}{1:00}", buildStart.Month, buildStart.Day));

            default:
                throw (new ApplicationException("Unknown increment style: " + IncrementStyle.ToString()));
            }
        }