internal override LocalizedString GenerateWhen(bool addTimeZoneInfo) { if (!(base.Pattern is RegeneratingPattern)) { return(base.GenerateWhen(addTimeZoneInfo)); } ExDateTime exDateTime = this.ReadExTimeZone.ConvertDateTime(base.Range.StartDate); LocalizedString localizedString = ClientStrings.WhenRecurringNoEndDateNoTimeInDay(base.Pattern.When(), exDateTime); if (!(base.Range is NoEndRecurrenceRange)) { if (!(base.Range is NumberedRecurrenceRange)) { ExTraceGlobals.TaskTracer.TraceError <RecurrencePattern, RecurrenceRange>((long)this.GetHashCode(), "TaskRecurrence::GenerateWhen. The recurrence range is not allowed in this pattern. Pattern = {0}, Range = {1}.", base.Pattern, base.Range); throw new CorruptDataException(ServerStrings.TaskRecurrenceNotSupported(base.Pattern.ToString(), base.Range.ToString())); } localizedString = ClientStrings.JointStrings(localizedString, ClientStrings.WhenNMoreOccurrences(((NumberedRecurrenceRange)base.Range).NumberOfOccurrences)); } return(localizedString); }