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); }
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())); } }