Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }