async void GetDiskSpace() { DiskApi = Authorize(); if (DiskApi != null) { Disk result = await DiskApi.MetaInfo.GetDiskInfoAsync(); if (result != null) { logger.Trace("Получение информации о диске"); diskInfo.TotalSpace = result.TotalSpace / Math.Pow(2, 30); diskInfo.UsedSpace = result.UsedSpace / Math.Pow(2, 30); diskInfo.TrashSpace = result.TrashSize / Math.Pow(2, 30); usedspace_tb.Text = "Использовано: " + Math.Round(diskInfo.UsedSpace, 2).ToString() + " Гб"; totalspace_tb.Text = "Всего: " + diskInfo.TotalSpace.ToString() + " Гб"; } else { logger.Warn("Ошибка получения информации о диске"); } } else { logger.Fatal("Ошибка авторизации. Приложение будет закрыто."); Environment.Exit(-1); } }
public Disk(IDiskApi diskApi, DiskInfo diskProps) { DiskApi = diskApi; FriendlyName = diskProps.FriendlyName; Number = diskProps.Number; Size = diskProps.Size; AllocatedSize = diskProps.AllocatedSize; FriendlyName = diskProps.FriendlyName; IsSystem = diskProps.IsSystem; IsBoot = diskProps.IsBoot; IsReadOnly = diskProps.IsReadOnly; IsOffline = diskProps.IsOffline; }
static async Task UploadFileAsynk(string file, IDiskApi diskApi, string destDirectory) { var name = file.Split(@"\")[file.Split(@"\").Length - 1]; var diskPath = destDirectory + name; Console.WriteLine("Uploading file " + name); await diskApi.Files.UploadFileAsync(path : diskPath, overwrite : true, localFile : file, cancellationToken : CancellationToken.None); Console.WriteLine(name + " uploaded"); }
/// <summary> /// Загрузка файлов на Яндекс.Диск /// </summary> /// <param name="options"></param> /// <param name="diskApi"></param> /// <param name="file"></param> /// <returns></returns> public static async Task GetStartAsync(UploadDetails options, IDiskApi diskApi, FileDetails file) { // формирование запроса пути Link link = await diskApi.Files.GetUploadLinkAsync(options.Receiver + "/" + file.Name, true).ConfigureAwait(false); GetShowMessage(file.Name, "Идет загрузка"); using (FileStream fileStream = File.OpenRead(file.Path)) { // загрузка файлов по указанному пути await diskApi.Files.UploadAsync(link, fileStream); } GetShowMessage(file.Name, "Загружен"); }
static async Task DownloadAllFilesInFolder(IDiskApi diskApi) { //Getting information about folder /foo and all files in it Resource fooResourceDescription = await diskApi.MetaInfo.GetInfoAsync(new ResourceRequest { Path = "/Path", //Folder on Yandex Disk }, CancellationToken.None); //Getting all files from response IEnumerable <Resource> allFilesInFolder = fooResourceDescription.Embedded.Items.Where(item => item.Type == ResourceType.File); //Path to local folder for downloading files string localFolder = @"D:\Download"; //Run all downloadings in parallel. DiskApi is thread safe. IEnumerable <Task> downloadingTasks = allFilesInFolder.Select(file => diskApi.Files.DownloadFileAsync(path: file.Path, localFile: System.IO.Path.Combine(localFolder, file.Name))); //Wait all done await Task.WhenAll(downloadingTasks); }
protected Device(IDiskApi diskApi) { DiskApi = diskApi; }
public Phone(IDiskApi diskApi, IPhoneModelReader phoneModelReader, BcdInvokerFactory bcdInvokerFactory) : base(diskApi) { this.phoneModelReader = phoneModelReader; this.bcdInvokerFactory = bcdInvokerFactory; }
public YandexContext(IDiskApi client) { Client = client; }
public TestPhone(IDiskApi diskApi, IPhoneModelInfoReader phoneModelInfoReader, BcdInvokerFactory bcdInvokerFactory) : base(diskApi, phoneModelInfoReader, bcdInvokerFactory) { }
public YandexDiskEngine(string userAccessToken) { this.userAccessToken = userAccessToken; diskApi = new DiskHttpApi(userAccessToken); }