private ServiceTermResponse ExecuteCalculateTerms(DateTime startDate, CaseTermInterval termInterval,
                                                          TimeZoneInfo userTimeZone, CaseTermStates mask)
        {
            var calendarutility = new CalendarUtility(UserConnection);
            var response        = new ServiceTermResponse();

            response.ReactionTime = mask.HasFlag(CaseTermStates.ContainsResponse)
                                ? calendarutility.Add(startDate, termInterval.ResponseTerm, userTimeZone) as DateTime?
                                : null;
            response.SolutionTime = mask.HasFlag(CaseTermStates.ContainsResolve)
                                ? calendarutility.Add(startDate, termInterval.ResolveTerm, userTimeZone) as DateTime?
                                : null;
            return(response);
        }
        private ServiceTermResponse ExecuteRecalculateTerms(DateTime startDate, CaseTermInterval termInterval,
                                                            IEnumerable <DateTimeInterval> intervals, TimeZoneInfo userTimeZone, CaseTermStates mask)
        {
            var calendarutility = new CalendarUtility(UserConnection);
            var response        = new ServiceTermResponse();
            var dateTime        = ConvertFromUtc(DateTime.UtcNow, userTimeZone);

            response.ReactionTime = mask.HasFlag(CaseTermStates.ContainsResponse)
                                ? calendarutility.Add(dateTime, termInterval.ResponseTerm, intervals, userTimeZone) as DateTime?
                                : null;
            response.SolutionTime = mask.HasFlag(CaseTermStates.ContainsResolve)
                                ? calendarutility.Add(dateTime, termInterval.ResolveTerm, intervals, userTimeZone) as DateTime?
                                : null;
            return(response);
        }