// Token: 0x0600310E RID: 12558 RVA: 0x00121104 File Offset: 0x0011F304 public static void SetFreeBusyDayLightBasedValue(ExDateTime startDate, ExDateTime endDate, ExTimeZone timeZone, ref string freeBusyData) { ExTraceGlobals.CalendarCallTracer.TraceDebug(0L, "SchedulingTabRenderingUtilities.GetFreeBusyDayLightIndex"); if (string.IsNullOrEmpty(freeBusyData)) { throw new ArgumentNullException("freeBusyData", "FreeBusyData cannot be null or Empty"); } int num = 0; int num2 = 0; DayLightsTransition startToEndDayLightsTransitionValue = SchedulingTabRenderingUtilities.GetStartToEndDayLightsTransitionValue(startDate, endDate, timeZone); if (startToEndDayLightsTransitionValue == DayLightsTransition.NoTransition) { return; } SchedulingTabRenderingUtilities.SetDayLightsSavingIndices(startDate, endDate, timeZone, startToEndDayLightsTransitionValue, out num, out num2); if (startToEndDayLightsTransitionValue == DayLightsTransition.TransitionFromStandardToDayLights) { StringBuilder stringBuilder = new StringBuilder(freeBusyData.Length); stringBuilder.Append(freeBusyData.Substring(0, num)); for (int i = 0; i < num2; i++) { stringBuilder.Append('0'); } stringBuilder.Append(freeBusyData.Substring(num)); freeBusyData = stringBuilder.ToString(); return; } if (startToEndDayLightsTransitionValue == DayLightsTransition.TransitionFromDayLightsToStandard) { StringBuilder stringBuilder2 = new StringBuilder(freeBusyData.Length); stringBuilder2.Append(freeBusyData.Substring(0, num)); stringBuilder2.Append(freeBusyData.Substring(num + num2)); freeBusyData = stringBuilder2.ToString(); } }
// Token: 0x0600310F RID: 12559 RVA: 0x001211EC File Offset: 0x0011F3EC private static void SetDayLightsSavingIndices(ExDateTime startDateFreeBusyWindow, ExDateTime endDateFreeBusyWindow, ExTimeZone timeZone, DayLightsTransition transition, out int transitionIndex, out int dayLightIndexSpan) { ExTraceGlobals.CalendarCallTracer.TraceDebug(0L, "SchedulingTabRenderingUtilities.SetDayLightsSavingIndices"); transitionIndex = 0; dayLightIndexSpan = 0; if (transition != DayLightsTransition.NoTransition) { DaylightTime daylightChanges = timeZone.GetDaylightChanges(startDateFreeBusyWindow.Year); TimeSpan timeSpan; if ((daylightChanges.Start < daylightChanges.End && startDateFreeBusyWindow > (ExDateTime)daylightChanges.Start) || (daylightChanges.Start > daylightChanges.End && startDateFreeBusyWindow < (ExDateTime)daylightChanges.End)) { timeSpan = (ExDateTime)daylightChanges.End - startDateFreeBusyWindow; } else { timeSpan = (ExDateTime)daylightChanges.Start - startDateFreeBusyWindow; } transitionIndex = (timeSpan.Days * 60 * 24 + timeSpan.Hours * 60 + timeSpan.Minutes) / 30; dayLightIndexSpan = (daylightChanges.Delta.Hours * 60 + daylightChanges.Delta.Minutes) / 30; } }