Пример #1
0
 private void OnFolderUpdated(FolderUpdatedMessage message)
 {
     if (message.BlobStorage == Storage && StoragePath.ComparePath(message.FolderPath, FolderPath))
     {
         ServiceLocator.GetInstance <IUIDispatcher>().Invoke(() => Process(message));
     }
 }
Пример #2
0
        public override async Task ExecuteAsync()
        {
            IsIndeterminate = true;
            Message         = "renaming...";
            Abstract        = $"{_blob.Name}";

            await _blobStorage.RenameAsync(_blob.FullPath, _newPath);

            var message = new FolderUpdatedMessage(_blobStorage, _blob.FolderPath);

            message.ReplacedBlobs[_blob] = new Blob(_newPath, _blob.Kind);
            Messenger.Default.Send(message);
        }
Пример #3
0
 private void Process(FolderUpdatedMessage message)
 {
     if (message.ReplacedBlobs.Count > 0)
     {
         foreach (KeyValuePair <Blob, Blob> otn in message.ReplacedBlobs)
         {
             int idx = FilteredBlobs.IndexOf(otn.Key);
             if (idx != -1)
             {
                 FilteredBlobs.RemoveAt(idx);
                 FilteredBlobs.Insert(idx, otn.Value);
             }
         }
     }
     else
     {
         RefreshBlobsAsync().Forget();
     }
 }