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);
            }
        }
Exemple #2
0
 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;
 }
Exemple #3
0
        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");
        }
Exemple #4
0
        /// <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, "Загружен");
        }
Exemple #5
0
        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;
 }
Exemple #7
0
 public Phone(IDiskApi diskApi, IPhoneModelReader phoneModelReader, BcdInvokerFactory bcdInvokerFactory) :
     base(diskApi)
 {
     this.phoneModelReader  = phoneModelReader;
     this.bcdInvokerFactory = bcdInvokerFactory;
 }
Exemple #8
0
 public YandexContext(IDiskApi client)
 {
     Client = client;
 }
 public TestPhone(IDiskApi diskApi, IPhoneModelInfoReader phoneModelInfoReader, BcdInvokerFactory bcdInvokerFactory) : base(diskApi, phoneModelInfoReader, bcdInvokerFactory)
 {
 }
Exemple #10
0
 public YandexDiskEngine(string userAccessToken)
 {
     this.userAccessToken = userAccessToken;
     diskApi = new DiskHttpApi(userAccessToken);
 }