Пример #1
0
 private async Task RefreshAsync(CancellationToken cancellationToken, IProgress <Tuple <int, string> > progress, string uuid = null) => await Task.Run(() =>
 {
     for (var i = 0; i < disks.Count; i++)
     {
         var disk = disks[i];
         if (uuid != null && string.CompareOrdinal(uuid, disk.UUID) != 0)
         {
             continue;
         }
         progress.Report(new Tuple <int, string>(i * 100 / disks.Count, disk.Name));
         if (cancellationToken.IsCancellationRequested)
         {
             break;
         }
         try
         {
             var vdi = Medium.OpenMedium(disk.Location, AccessMode.AccessMode_ReadOnly);
             vdi.RefreshState();
             disk.Update(vdi);
         }
         catch { }
         Invoke(new Action <Guid>(UpdateItem), disk.Key);
     }
     progress.Report(new Tuple <int, string>(100, ""));
 }, cancellationToken);
Пример #2
0
        private async void addCmd_Click(object sender, EventArgs e)
        {
            if (openFileDlg.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            var m = Medium.OpenMedium(openFileDlg.FileName);

            m.Close();
            await RefreshList();
        }