protected override void InternalSave(TObject configObj) { base.InternalSave(configObj); StoreObjectId defaultFolderId = base.Session.GetDefaultFolderId(DefaultFolderType.Calendar); StorageWorkingHours storageWorkingHours = StorageWorkingHours.LoadFrom(base.Session, defaultFolderId); if (storageWorkingHours == null) { ExTimeZone timeZone = (configObj.WorkingHoursTimeZone != null) ? configObj.WorkingHoursTimeZone.ExTimeZone : ExTimeZone.CurrentTimeZone; storageWorkingHours = StorageWorkingHours.Create(timeZone, (int)configObj.WorkDays, (int)configObj.WorkingHoursStartTime.TotalMinutes, (int)configObj.WorkingHoursEndTime.TotalMinutes); } else { if (configObj.IsModified(WorkingHoursSchema.WorkingHoursTimeZone)) { storageWorkingHours.TimeZone = configObj.WorkingHoursTimeZone.ExTimeZone; } if (configObj.IsModified(WorkingHoursSchema.WorkDays) || configObj.IsModified(WorkingHoursSchema.WorkingHoursStartTime) || configObj.IsModified(WorkingHoursSchema.WorkingHoursEndTime)) { storageWorkingHours.UpdateWorkingPeriod(configObj.WorkDays, (int)configObj.WorkingHoursStartTime.TotalMinutes, (int)configObj.WorkingHoursEndTime.TotalMinutes); } } try { storageWorkingHours.SaveTo(base.Session, defaultFolderId); } catch (ObjectExistedException) { storageWorkingHours.SaveTo(base.Session, defaultFolderId); } }
// Token: 0x06001970 RID: 6512 RVA: 0x0009491C File Offset: 0x00092B1C internal bool CommitChanges(MailboxSession mailboxSession) { StorageWorkingHours storageWorkingHours = StorageWorkingHours.Create(this.timeZone, this.workDays, this.workDayStartTimeInWorkingHoursTimeZone, this.workDayEndTimeInWorkingHoursTimeZone); try { StoreObjectId defaultFolderId = mailboxSession.GetDefaultFolderId(DefaultFolderType.Calendar); storageWorkingHours.SaveTo(mailboxSession, defaultFolderId); } catch (WorkingHoursSaveFailedException) { return(false); } return(true); }