private void DownloadFiles(List <FileBlock> files)
        {
            List <Task> downloadFilesTask = new List <Task>();

            foreach (var file in files)
            {
                if (file.DownloadStatus == false)
                {
                    downloadFilesTask.Add(Task.Run(() =>
                    {
                        cloudService.DownloadCloudFile(file, toDownloadDirectoryPath);
                        file.DownloadStatus             = true;
                        TransactionFile transactionFile = new TransactionFile();
                        transactionFile.Create(directory);
                    }));
                }
            }
            Task.WaitAll(downloadFilesTask.ToArray());
        }
        private void DownloadDirectory(List <DirectoryBlock> subDirectories)
        {
            List <Task> downloadDirectoriesTask = new List <Task>();

            foreach (var subDirectory in subDirectories)
            {
                if (subDirectory.DownloadStatus == false)
                {
                    downloadDirectoriesTask.Add(Task.Run(() =>
                    {
                        System.IO.Directory.CreateDirectory(toDownloadDirectoryPath + subDirectory.path);
                        subDirectory.DownloadStatus = true;
                        queue.Enqueue(subDirectory);
                        TransactionFile transactionFile = new TransactionFile();
                        transactionFile.Create(directory);
                    }));
                }
            }
            Task.WaitAll(downloadDirectoriesTask.ToArray());
        }