Tp.Integration.Plugin.Common.Activity.PluginRollingFileAppender.NextCheckDate C# (CSharp) Method

NextCheckDate() protected method

protected NextCheckDate ( System.DateTime currentDateTime, RollPoint rollPoint ) : System.DateTime
currentDateTime System.DateTime
rollPoint RollPoint
return System.DateTime
		protected DateTime NextCheckDate(DateTime currentDateTime, RollPoint rollPoint)
		{
			DateTime dateTime = currentDateTime;

			switch (rollPoint)
			{
				case RollPoint.TopOfMinute:
					dateTime = dateTime.AddMilliseconds(-dateTime.Millisecond);
					dateTime = dateTime.AddSeconds(-dateTime.Second);
					dateTime = dateTime.AddMinutes(1.0);
					break;
				case RollPoint.TopOfHour:
					dateTime = dateTime.AddMilliseconds(-dateTime.Millisecond);
					dateTime = dateTime.AddSeconds(-dateTime.Second);
					dateTime = dateTime.AddMinutes(-dateTime.Minute);
					dateTime = dateTime.AddHours(1.0);
					break;
				case RollPoint.HalfDay:
					dateTime = dateTime.AddMilliseconds(-dateTime.Millisecond);
					dateTime = dateTime.AddSeconds(-dateTime.Second);
					dateTime = dateTime.AddMinutes(-dateTime.Minute);
					if (dateTime.Hour < 12)
					{
						dateTime = dateTime.AddHours(12 - dateTime.Hour);
						break;
					}
					dateTime = dateTime.AddHours(-dateTime.Hour);
					dateTime = dateTime.AddDays(1.0);
					break;
				case RollPoint.TopOfDay:
					dateTime = dateTime.AddMilliseconds(-dateTime.Millisecond);
					dateTime = dateTime.AddSeconds(-dateTime.Second);
					dateTime = dateTime.AddMinutes(-dateTime.Minute);
					dateTime = dateTime.AddHours(-dateTime.Hour);
					dateTime = dateTime.AddDays(1.0);
					break;
				case RollPoint.TopOfWeek:
					dateTime = dateTime.AddMilliseconds(-dateTime.Millisecond);
					dateTime = dateTime.AddSeconds(-dateTime.Second);
					dateTime = dateTime.AddMinutes(-dateTime.Minute);
					dateTime = dateTime.AddHours(-dateTime.Hour);
					dateTime = dateTime.AddDays(7 - (int) dateTime.DayOfWeek);
					break;
				case RollPoint.TopOfMonth:
					dateTime = dateTime.AddMilliseconds(-dateTime.Millisecond);
					dateTime = dateTime.AddSeconds(-dateTime.Second);
					dateTime = dateTime.AddMinutes(-dateTime.Minute);
					dateTime = dateTime.AddHours(-dateTime.Hour);
					dateTime = dateTime.AddDays(1 - dateTime.Day);
					dateTime = dateTime.AddMonths(1);
					break;
			}
			return dateTime;
		}