public DateTime GetSolutionDateAfterPause(long remind, bool isResolution, ResponseLabelTermCalculationData termCalculationData = null) { DateTime currentDateTime = UserConnection.CurrentUser.GetCurrentDateTime(); if (TermCalculationData == null) { return(currentDateTime); } bool isCalendarDays = isResolution ? TermCalculationData.IsResolutionInCalendarDays : TermCalculationData.IsResponseInCalendarDays; var remindTimeSpan = new TimeSpan(remind); if (isCalendarDays) { return(currentDateTime + remindTimeSpan); } return(TermCalculator == null ? currentDateTime : TermCalculator.CalculateByCalendar(currentDateTime, remindTimeSpan)); }
public TimeSpan GetRemindTimeSpan(DateTime toDate, bool isResolution, ResponseLabelTermCalculationData termCalculationData = null) { TimeSpan workingTimeSpan = TimeSpan.Zero; if (TermCalculationData == null || toDate == DateTime.MinValue) { return(workingTimeSpan); } DateTime userCurrentDateTIme = UserConnection.CurrentUser.GetCurrentDateTime(); bool isCalendarDays = isResolution ? TermCalculationData.IsResolutionInCalendarDays : TermCalculationData.IsResponseInCalendarDays; if (isCalendarDays) { workingTimeSpan = toDate - userCurrentDateTIme; } else { var termCalculatorActions = new TermCalculatorActions(UserConnection, TermCalculationData.CalendarId); var timeZoneConvertor = new TimeZoneConvertor(TermCalculationData.CalendarTimeZone, UserConnection.CurrentUser.TimeZone); DateTime calendarUserCurrentDateTime = timeZoneConvertor.ToCalendarDateTime(userCurrentDateTIme); DateTime calendarResponseDate = timeZoneConvertor.ToCalendarDateTime(toDate); workingTimeSpan = termCalculatorActions.GetWorkingTimeSpan(calendarUserCurrentDateTime, calendarResponseDate); } return(workingTimeSpan); }