/// <summary> /// Calculate solution date after pause. /// </summary> /// <param name="startDate">Start date.</param> /// <param name="timeUnit">Time unit.</param> /// <param name="value">Time unit value.</param> /// <param name="timeZone">Time zone.</param> /// <returns>Solution date.</returns> public DateTime CalculateSolutionDateAfterPause(DateTime startDate, Calendars.TimeUnit timeUnit, int value, TimeZoneInfo timeZone) { if (_userConnection == null) { throw new ArgumentException(); } startDate = _userConnection.CurrentUser.GetCurrentDateTime(); var parameters = GetTimeUnitDifference(new KeyValuePair <Calendars.TimeUnit, int>(timeUnit, value)); TimeTerm timeTerm = new TimeTerm { Type = parameters.Key, Value = parameters.Value, CalendarId = TermParameters.CalendarId }; return(Utility.Add(startDate, timeTerm, timeZone)); }
private int ConvertTimeUnitValueToMinute(Calendars.TimeUnit timeUnit, int value) { switch (timeUnit) { case Calendars.TimeUnit.Minute: return(value); case Calendars.TimeUnit.Hour: return(value * 60); case Calendars.TimeUnit.Day: return(value * 60 * 24); default: throw new ArgumentException(); } }
/// <summary> /// Calculate solution date after pause. /// </summary> /// <param name="startDate">Start date.</param> /// <param name="timeUnit">Time unit.</param> /// <param name="value">Time unit value.</param> /// <returns>Solution date.</returns> public DateTime CalculateSolutionDateAfterPause(DateTime startDate, Calendars.TimeUnit timeUnit, int value) { return(CalculateSolutionDateAfterPause(startDate, timeUnit, value, _userConnection.CurrentUser.TimeZone)); }