/// <summary> /// Creates a new <see cref="DatabaseTargetEventArgs"/> instance. /// </summary> /// <param name="task">The <see cref="BackupTask"/> to create the arguments with.</param> /// <param name="info">The <see cref="TransferInfo"/> to create the arguments with, if applicable.</param> /// <returns>The created event arguments.</returns> public static DatabaseTargetEventArgs CreateEventArgs(BackupTask task, TransferInfo info) { return(new DatabaseTargetEventArgs() { CatalogName = task.Target.CatalogName, Name = task.Target.Name, Transfer = info }); }
private void ExecuteSchedule(object schd) { ScheduleConfigurationElement schedule = (ScheduleConfigurationElement)schd; this.Fire(this.ScheduleStart, schedule, null, null); foreach (ScheduleTargetConfigurationElement target in schedule.BackupTargets) { DatabaseTargetConfigurationElement config = null; try { config = SThreeQLConfiguration.Section.BackupTargets[target.Name]; BackupTask task = new BackupTask(config); task.BackupComplete += new EventHandler<DatabaseTargetEventArgs>(this.OnBackupComplete); task.BackupStart += new EventHandler<DatabaseTargetEventArgs>(this.OnBackupStart); task.CompressComplete += new EventHandler<DatabaseTargetEventArgs>(this.OnBackupCompressComplete); task.CompressStart += new EventHandler<DatabaseTargetEventArgs>(this.OnBackupCompressStart); task.TransferComplete += new EventHandler<DatabaseTargetEventArgs>(this.OnBackupTransferComplete); task.TransferProgress += new EventHandler<DatabaseTargetEventArgs>(this.OnBackupTransferProgress); task.TransferStart += new EventHandler<DatabaseTargetEventArgs>(this.OnTransferStart); task.Execute(); } catch (Exception ex) { this.Fire(this.ScheduleError, schedule, config, ex); } } foreach (ScheduleTargetConfigurationElement target in schedule.RestoreTargets) { DatabaseRestoreTargetConfigurationElement config = null; try { config = SThreeQLConfiguration.Section.RestoreTargets[target.Name]; RestoreTask task = new RestoreTask(config); task.DecompressComplete += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreDecompressComplete); task.DecompressStart += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreDecompressStart); task.RestoreComplete += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreComplete); task.RestoreStart += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreStart); task.TransferComplete += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreTransferComplete); task.TransferProgress += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreTransferProgress); task.TransferStart += new EventHandler<RestoreDatabaseTargetEventArgs>(this.OnRestoreTransferStart); task.Execute(); } catch (Exception ex) { this.Fire(this.ScheduleError, schedule, config, ex); } } this.Fire(this.ScheduleComplete, schedule, null, null); lock (this) { this.inProgress.Remove(schedule.Name); this.pending.Add(schedule.Name, GetNextExecuteDate(schedule)); } }
private void ExecuteSchedule(object schd) { ScheduleConfigurationElement schedule = (ScheduleConfigurationElement)schd; this.Fire(this.ScheduleStart, schedule, null, null); foreach (ScheduleTargetConfigurationElement target in schedule.BackupTargets) { DatabaseTargetConfigurationElement config = null; try { config = SThreeQLConfiguration.Section.BackupTargets[target.Name]; BackupTask task = new BackupTask(config); task.BackupComplete += new EventHandler <DatabaseTargetEventArgs>(this.OnBackupComplete); task.BackupStart += new EventHandler <DatabaseTargetEventArgs>(this.OnBackupStart); task.CompressComplete += new EventHandler <DatabaseTargetEventArgs>(this.OnBackupCompressComplete); task.CompressStart += new EventHandler <DatabaseTargetEventArgs>(this.OnBackupCompressStart); task.TransferComplete += new EventHandler <DatabaseTargetEventArgs>(this.OnBackupTransferComplete); task.TransferProgress += new EventHandler <DatabaseTargetEventArgs>(this.OnBackupTransferProgress); task.TransferStart += new EventHandler <DatabaseTargetEventArgs>(this.OnTransferStart); task.Execute(); } catch (Exception ex) { this.Fire(this.ScheduleError, schedule, config, ex); } } foreach (ScheduleTargetConfigurationElement target in schedule.RestoreTargets) { DatabaseRestoreTargetConfigurationElement config = null; try { config = SThreeQLConfiguration.Section.RestoreTargets[target.Name]; RestoreTask task = new RestoreTask(config); task.DecompressComplete += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreDecompressComplete); task.DecompressStart += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreDecompressStart); task.RestoreComplete += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreComplete); task.RestoreStart += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreStart); task.TransferComplete += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreTransferComplete); task.TransferProgress += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreTransferProgress); task.TransferStart += new EventHandler <RestoreDatabaseTargetEventArgs>(this.OnRestoreTransferStart); task.Execute(); } catch (Exception ex) { this.Fire(this.ScheduleError, schedule, config, ex); } } this.Fire(this.ScheduleComplete, schedule, null, null); lock (this) { this.inProgress.Remove(schedule.Name); this.pending.Add(schedule.Name, GetNextExecuteDate(schedule)); } }
/// <summary> /// Creates a new <see cref="DatabaseTargetEventArgs"/> instance. /// </summary> /// <param name="task">The <see cref="BackupTask"/> to create the arguments with.</param> /// <param name="info">The <see cref="TransferInfo"/> to create the arguments with, if applicable.</param> /// <returns>The created event arguments.</returns> public static DatabaseTargetEventArgs CreateEventArgs(BackupTask task, TransferInfo info) { return new DatabaseTargetEventArgs() { CatalogName = task.Target.CatalogName, Name = task.Target.Name, Transfer = info }; }