protected override void OnExecute(CommandProcessor theProcessor, IUpdateContext updateContext) { // Update StudyStatusEnum in the StudyStorageTable IStudyStorageEntityBroker studyStorageUpdate = updateContext.GetBroker <IStudyStorageEntityBroker>(); StudyStorageUpdateColumns studyStorageUpdateColumns = new StudyStorageUpdateColumns(); studyStorageUpdateColumns.StudyStatusEnum = _newStatus; studyStorageUpdate.Update(_location.Key, studyStorageUpdateColumns); // Update ServerTransferSyntaxGUID in FilesystemStudyStorage IFilesystemStudyStorageEntityBroker filesystemUpdate = updateContext.GetBroker <IFilesystemStudyStorageEntityBroker>(); FilesystemStudyStorageUpdateColumns filesystemUpdateColumns = new FilesystemStudyStorageUpdateColumns(); filesystemUpdateColumns.ServerTransferSyntaxKey = _newSyntax.Key; filesystemUpdate.Update(_location.FilesystemStudyStorageKey, filesystemUpdateColumns); }
protected override void OnExecute(CommandProcessor theProcessor, IUpdateContext updateContext) { // update FilesystemStudyStorage if (Context != null) { Platform.Log(LogLevel.Info, "Updating database..."); IFilesystemStudyStorageEntityBroker broker = updateContext.GetBroker <IFilesystemStudyStorageEntityBroker>(); FilesystemStudyStorageSelectCriteria searchCriteria = new FilesystemStudyStorageSelectCriteria(); searchCriteria.StudyStorageKey.EqualTo(Context.OriginalStudyLocation.GetKey()); searchCriteria.FilesystemKey.EqualTo(Context.OriginalStudyLocation.FilesystemKey); FilesystemStudyStorage filesystemStudyStorage = broker.FindOne(searchCriteria); Debug.Assert(filesystemStudyStorage != null); // Update Filesystem for the StudyStorage entry filesystemStudyStorage.FilesystemKey = Context.Destination.Filesystem.GetKey(); broker.Update(filesystemStudyStorage); // Update Filesystem for the remaining FilesystemQueue entries IFilesystemQueueEntityBroker fsQueueBroker = updateContext.GetBroker <IFilesystemQueueEntityBroker>(); FilesystemQueueSelectCriteria fsQueueSearchCriteria = new FilesystemQueueSelectCriteria(); fsQueueSearchCriteria.StudyStorageKey.EqualTo(Context.OriginalStudyLocation.GetKey()); fsQueueSearchCriteria.FilesystemKey.EqualTo(Context.OriginalStudyLocation.FilesystemKey); FilesystemQueueUpdateColumns fsQueueUpdateColumns = new FilesystemQueueUpdateColumns(); fsQueueUpdateColumns.FilesystemKey = Context.Destination.Filesystem.GetKey(); fsQueueBroker.Update(fsQueueSearchCriteria, fsQueueUpdateColumns); // Insert or update Filesystem Queue table. IInsertFilesystemQueue insertFilesystemQueueBroker = updateContext.GetBroker <IInsertFilesystemQueue>(); FilesystemQueueInsertParameters parms = new FilesystemQueueInsertParameters(); parms.FilesystemKey = Context.Destination.Filesystem.GetKey(); parms.FilesystemQueueTypeEnum = FilesystemQueueTypeEnum.TierMigrate; parms.ScheduledTime = Platform.Time; parms.StudyStorageKey = Context.OriginalStudyLocation.GetKey(); insertFilesystemQueueBroker.Execute(parms); Platform.Log(LogLevel.Info, "Database is updated."); } }