private void EnforceLevelOfDetailsOnItem(CalendarItemBase calendarItem, LevelOfDetails levelOfDetails) { ItemSynchronizer.Tracer.TraceDebug <CalendarItemSynchronizer, VersionedId>((long)this.GetHashCode(), "{0}: Enforcing level of details on item {1}.", this, calendarItem.Id); using (TextWriter textWriter = calendarItem.Body.OpenTextWriter(calendarItem.Body.Format)) { textWriter.Write(string.Empty); } if (levelOfDetails == LevelOfDetails.Availability) { calendarItem.Subject = this.appointmentTranslator.ConvertFreeBusyToTitle(calendarItem.FreeBusyStatus); calendarItem.Location = string.Empty; calendarItem.Sensitivity = Sensitivity.Normal; } }
public virtual void EnforceLevelOfDetails(MailboxSession mailboxSession, StoreId itemId, LevelOfDetails levelOfDetails) { }
public SharingLevelOfDetails(LevelOfDetails levelOfDetails) { this.currentLevel = levelOfDetails; }
public override void EnforceLevelOfDetails(MailboxSession mailboxSession, StoreId itemId, LevelOfDetails levelOfDetails) { using (CalendarItem calendarItem = CalendarItem.Bind(mailboxSession, itemId)) { this.EnforceLevelOfDetailsOnItem(calendarItem, levelOfDetails); if (calendarItem.Recurrence != null) { IList <OccurrenceInfo> modifiedOccurrences = calendarItem.Recurrence.GetModifiedOccurrences(); ItemSynchronizer.Tracer.TraceDebug <CalendarItemSynchronizer, int, StoreId>((long)this.GetHashCode(), "{0}: Found {1} modified occurrences for item {2}.", this, modifiedOccurrences.Count, itemId); foreach (OccurrenceInfo occurrenceInfo in modifiedOccurrences) { ExDateTime originalStartTime = occurrenceInfo.OriginalStartTime; if (!calendarItem.Recurrence.IsOccurrenceDeleted(originalStartTime) && calendarItem.Recurrence.IsValidOccurrenceId(originalStartTime)) { using (CalendarItemOccurrence calendarItemOccurrence = calendarItem.OpenOccurrenceByOriginalStartTime(originalStartTime, new PropertyDefinition[0])) { this.EnforceLevelOfDetailsOnItem(calendarItemOccurrence, levelOfDetails); calendarItemOccurrence.Save(SaveMode.NoConflictResolution); continue; } } ItemSynchronizer.Tracer.TraceDebug <CalendarItemSynchronizer, ExDateTime>((long)this.GetHashCode(), "{0}: Exception {1} is deleted or invalid. Skipping enforcement of level of details.", this, originalStartTime); } } calendarItem.Save(SaveMode.NoConflictResolution); } }
public void SaveLevelOfDetails(LevelOfDetails levelOfDetails) { this.folder[SharingSchema.ExternalSharingLevelOfDetails] = levelOfDetails; this.folder.Save(); this.folder.Load(); }
public IProvideGenericError UseDetailedErrors() { _errorLevelOfDetail = LevelOfDetails.DetailedErrors; return(this); }
public IProvideGenericError UseStandardMessage() { _errorLevelOfDetail = LevelOfDetails.StandardMessage; return(this); }