/// <summary> /// If auto-sync is enabled and another synchronization is needed, start a synchronization of the root album in this gallery /// on a new thread. /// </summary> private void RunAutoSynchIfNeeded() { if (NeedToRunAutoSync()) { // Start sync on new thread SynchronizeSettingsEntity syncSettings = new SynchronizeSettingsEntity(); syncSettings.SyncInitiator = SyncInitiator.AutoSync; syncSettings.AlbumToSynchronize = Factory.LoadRootAlbumInstance(GalleryId, false); syncSettings.IsRecursive = true; syncSettings.OverwriteThumbnails = false; syncSettings.OverwriteOptimized = false; syncSettings.RegenerateMetadata = false; System.Threading.Thread notifyAdminThread = new System.Threading.Thread(GalleryController.Synchronize); notifyAdminThread.Start(syncSettings); } }
public void SyncAlbum(int albumId, bool isRecursive, bool rebuildThumbnails, bool rebuildOptimized, bool regenerateMetadata, string password) { IAlbum album = null; try { album = AlbumController.LoadAlbumInstance(albumId, true, true, false); if (!ValidateRemoteSync(album, password)) { return; } SynchronizeSettingsEntity syncSettings = new SynchronizeSettingsEntity(); syncSettings.SyncInitiator = SyncInitiator.RemoteApp; syncSettings.AlbumToSynchronize = album; syncSettings.IsRecursive = isRecursive; syncSettings.RebuildThumbnails = rebuildThumbnails; syncSettings.RebuildOptimized = rebuildOptimized; syncSettings.RegenerateMetadata = regenerateMetadata; // Start sync on new thread Thread notifyAdminThread = new Thread(GalleryController.Synchronize); notifyAdminThread.Start(syncSettings); } catch (Exception ex) { if (album != null) { AppErrorController.LogError(ex, album.GalleryId); } else { AppErrorController.LogError(ex); } throw; } }