private void UpdateProgress()
        {
            AlbumOptimizationTask albumOptimizationTask = this;

            albumOptimizationTask._currentIndex = albumOptimizationTask._currentIndex + 1;
            TaskProgressEventArgs taskProgressEventArg = new TaskProgressEventArgs()
            {
                Progress      = this._currentIndex * 100 / this._itemsCount,
                StatusMessage = ""
            };
            TaskProgressEventArgs taskProgressEventArg1 = taskProgressEventArg;

            this.OnProgressChanged(taskProgressEventArg1);
            if (taskProgressEventArg1.Stopped)
            {
                throw new TaskStoppedException();
            }
        }
        private Guid StartOptimizeAlbumItemsTask(Guid albumId)
        {
            SchedulingManager manager = SchedulingManager.GetManager();

            Guid guid = Guid.NewGuid();

            AlbumOptimizationTask albumOptimizationTask = new AlbumOptimizationTask()
            {
                Id = guid,
                AlbumId = albumId
            };

            manager.AddTask(albumOptimizationTask);

            manager.SaveChanges();

            return guid;
        }
 public AlbumOptimizationTaskState(AlbumOptimizationTask albumOptimizationTask)
 {
     this.AlbumId = albumOptimizationTask.AlbumId;
 }
 public AlbumOptimizationTaskState(AlbumOptimizationTask albumOptimizationTask)
 {
     this.AlbumId = albumOptimizationTask.AlbumId;
 }