/// <summary>
        /// 创建云
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private static Cloudbase CreateCloud(DriveList item)
        {
            Cloudbase cloudclass = null;

            switch (item.Service)
            {
            case "microsoft":
                cloudclass = new OneDriveManager();
                break;
            }
            if (cloudclass != null)
            {
                cloudclass.CloudId = Guid.NewGuid();
                cloudclass.Cloud   = new Cloud
                {
                    CloudDriveId   = item.Id,
                    CloudEmail     = item.Email,
                    CloudService   = item.Service,
                    CloudToken     = item.Token,
                    CloudExpiresAt = item.ExpiresAt,
                    CloudExpiresIn = item.ExpiresIn
                };
            }
            return(cloudclass);
        }
Exemple #2
0
        /// <summary>
        /// Live login button action
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>


        private async void LiveLoginButton_Click(object sender, RoutedEventArgs e)
        {
            LiveLoginButton.Visibility = Visibility.Collapsed;
            try
            {
                await OneDriveManager.SignInOneDriveAsync();

                await OneDriveManager.GetFolderIdAsync();

                ShowButtons();
                StatusBlock.Text = DateTime.Now.ToString("HH:mm") + " Successfully logged in.\n";
            }
            catch (LiveAuthException ex)
            {
                LiveLoginButton.Content = "Retry";
                HideAllButtons();
                StatusBlock.Text = DateTime.Now.ToString("HH:mm") + " Failed to log in. Try again. \n";
            }
            catch (LiveConnectException ex)
            {
                LiveLoginButton.Content = "Retry";
                HideAllButtons();
                StatusBlock.Text = DateTime.Now.ToString("HH:mm") + " Failed to log in. Try again. \n";
            }
            catch (NullReferenceException)
            {
                LiveLoginButton.Content = "Retry";
                HideAllButtons();
                StatusBlock.Text = DateTime.Now.ToString("HH:mm") + " Failed to log in. Try again. Did You accept the OneDrive license? \n";
            }
            CancelUpload.Visibility = Visibility.Collapsed;
        }
Exemple #3
0
        /// <summary>
        /// Button action for downloading
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private async void DownloadButton_Click(object sender, RoutedEventArgs e)
        {
            HideButtons();
            try
            {
                var progressHandler = new Progress <LiveOperationProgress>(
                    (progress) => { SynchroProgressBar.Value = progress.ProgressPercentage; });
                await OneDriveManager.GetFolderIdAsync();

                StatusBlock.Text  += DateTime.Now.ToString("HH:mm") + " Downloading please wait...\n";
                Cancel2.Visibility = Visibility.Visible;
                await OneDriveManager.DownloadFilesAsync(progressHandler);

                StatusBlock.Text += DateTime.Now.ToString("HH:mm") + " Files were downloaded successfully to Music Directory\n";
            }
            catch (LiveConnectException exception)
            {
                StatusBlock.Text += DateTime.Now.ToString("HH:mm") + " Failed to download files, check your Internet connection.\n";
            }
            catch (System.Threading.Tasks.TaskCanceledException)
            {
                StatusBlock.Text += DateTime.Now.ToString("HH:mm") + " Download of files was cancelled.\n";
            }
            finally
            {
                ShowButtons();
            }
        }
        /// <summary>
        ///上传文件
        /// </summary>
        public async void Upload(string parentID)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Title            = "选择文件";
            openFileDialog.Filter           = "所有文件|*.*";
            openFileDialog.FileName         = string.Empty;
            openFileDialog.FilterIndex      = 1;
            openFileDialog.RestoreDirectory = true;
            openFileDialog.DefaultExt       = "zip";
            DialogResult result = openFileDialog.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            System.IO.FileInfo info     = new System.IO.FileInfo(openFileDialog.FileName);
            OneDriveManager    oneDrive = new OneDriveManager();

            oneDrive.Progress  += OneDrive_Progress;
            oneDrive.Exception += OneDrive_Exception;

            CloudObject.FileInformation f = new CloudObject.FileInformation
            {
                ParentId = parentID,
                FileName = info.Name,
                FileSize = info.Length,
                FilePath = info.Directory.ToString()
            };
            bool isSuccess = await oneDrive.Start(f, parentID, Clouder.OperaType.UpLoad);
        }
Exemple #5
0
        private async Task <TeamsManager> CreateTeamsManagerAsync()
        {
            var httpClient = await GetHttpClientAsync();

            var logger          = Substitute.For <ILogger>();
            var oneDriveManager = new OneDriveManager(httpClient);
            var teamsManager    = new TeamsManager(httpClient, logger, oneDriveManager);

            return(teamsManager);
        }
        async private void MenuItemBackup_Click(object sender, RoutedEventArgs e)
        {
            String podcastName = m_episodeModel.GetProperty <PodcastSubscriptionModel>("PodcastSubscription").GetProperty <String>("PodcastName");
            String folderId    = await OneDriveManager.getInstance().createFolderIfNotExists(String.Format("Podcasts/{0}", podcastName));

            Debug.WriteLine(String.Format("Backing up podcast to OneDrive, Podcast: {0}, Episode: {1}", podcastName, m_episodeModel.EpisodeName));

            App.showNotificationToast(String.Format("Started backing up '{0}'.", m_episodeModel.EpisodeName));
            await OneDriveManager.getInstance().uploadFileBackground(folderId, new Uri(m_episodeModel.EpisodeFile, UriKind.Relative));

            App.showNotificationToast("Backup completed.");
        }
Exemple #7
0
        /// <summary>
        /// Delete button action
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private async void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                await OneDriveManager.GetFolderIdAsync();

                StatusBlock.Text += DateTime.Now.ToString("HH:mm") + " Deleting BBLyrics folder please wait...\n";
                await OneDriveManager.DeleteFolderAsync(OneDriveManager._folderId);

                StatusBlock.Text += DateTime.Now.ToString("HH:mm") + " Folder deleted.\n";
            }
            catch (LiveConnectException exception)
            {
                StatusBlock.Text += DateTime.Now.ToString("HH:mm") + " Failed to delete folder, check your Internet connection.\n";
            }
        }
Exemple #8
0
        async private void exportToOneDrive(String opmlExportFileName, IsolatedStorageFileStream sourceStream)
        {
            try
            {
                await OneDriveManager.getInstance().uploadFile("me/SkyDrive", opmlExportFileName, sourceStream);

                MessageBox.Show("Exported to OneDrive succesfully!");

                SubscriptionManagerArgs managerArgs = new SubscriptionManagerArgs();
                managerArgs.state = SubscriptionsState.FinishedOneDriveExport;
                OnOPMLExportToOneDriveChanged(this, managerArgs);
            }
            catch (Exception e)
            {
                MessageBox.Show("There was an error uploading to OneDrive. Please try again.");
            }
        }
        static async Task Main(string[] args)
        {
            System.Console.WriteLine(@"  ___             ____       _");
            System.Console.WriteLine(@" / _ \ _ __   ___|  _ \ _ __(_)_   _____");
            System.Console.WriteLine(@"| | | | '_ \ / _ \ | | | '__| \ \ / / _ \");
            System.Console.WriteLine(@"| |_| | | | |  __/ |_| | |  | |\ V /  __/");
            System.Console.WriteLine(@"\___ /|_| |_|\___|____/|_|  |_| \_/ \___|");
            System.Console.WriteLine(@"  ____ _");
            System.Console.WriteLine(@" / ___| | ___  __ _ _ __   ___ _ __");
            System.Console.WriteLine(@"| |   | |/ _ \/ _` | '_ \ / _ \ '__|");
            System.Console.WriteLine(@"| |___| |  __/ (_| | | | |  __/ |");
            System.Console.WriteLine(@" \____|_|\___|\__,_|_| |_|\___|_|");
            System.Console.WriteLine();
            System.Console.WriteLine();
            if (args.Length == 0)
            {
                PrintUsage();
                return;
            }
            var builder = new ConfigurationBuilder()
                          .SetBasePath(System.AppContext.BaseDirectory)
                          .AddJsonFile("appsettings.json")
                          .AddEnvironmentVariables()
                          .AddUserSecrets <Program>();
            var configuration = builder.Build();

            var manager = new OneDriveManager();

            if (args[0] == "export")
            {
                var clientId = configuration["ClientId"];
                await manager.AuthenticateAsync(clientId);

                await manager.ScanAsync();
            }
            else if (args[0] == "analyze")
            {
                manager.Analyze();
            }
            else
            {
                PrintUsage();
            }
        }
Exemple #10
0
        async internal void importSubscriptionsFromOneDrive()
        {
            if (MessageBox.Show("Podcatcher will try to find and import the latest podcasts that were exported from Podcatcher. Please login to OneDrive to continue.",
                                "Import from OneDrive",
                                MessageBoxButton.OKCancel) != MessageBoxResult.OK)
            {
                return;
            }

            OneDriveFile latestExport = (await OneDriveManager.getInstance().getFileListing("me/SkyDrive/files"))
                                        .OrderByDescending(file => file.Created)
                                        .Where(file => file.Name.Contains("PodcatcherSubscriptions"))
                                        .FirstOrDefault();

            if (latestExport == null)
            {
                MessageBox.Show("Could not find any exported podcasts from Podcatcher on OneDrive. Make sure to have the exported OPML file in your root OneDrive folder.");
                return;
            }

            Debug.WriteLine("Going to get file {0} (Id: {1}) from {2}: ", latestExport.Name, latestExport.Id, latestExport.Url);
            PodcastSubscriptionsManager.getInstance().addSubscriptionFromOPMLFile(latestExport.Url);
        }
        /// <summary>
        /// Singleton 응용 프로그램 개체를 초기화합니다.  이것은 실행되는 작성 코드의 첫 번째
        /// 줄이며 따라서 main() 또는 WinMain()과 논리적으로 동일합니다.
        /// </summary>
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;



            /*** Injecting objects to public static instances ***/

            // App
            MobileService = new MobileServiceClient(
                "https://pinthecloud.azure-mobile.net/",
                "yvulzHAGRgNsGnPLHKcEFCPJcuyzKj23"
                );
            ApplicationSessions = new WSApplicationSessions();
            ApplicationSettings = new WSApplicationSettings();

            // Manager
            SpotManager         = new SpotManager();
            Geolocator          = new Geolocator();
            BlobStorageManager  = new BlobStorageManager();
            LocalStorageManager = new LocalStorageManager();

            OneDriveManager   = new OneDriveManager();
            DropBoxManager    = new DropboxManager();
            GoogleDriveManger = new GoogleDriveManager();


            /////////////////////////////////////////////////////
            // This order will be displayed at every App Pages
            /////////////////////////////////////////////////////
            StorageHelper.AddStorageManager(OneDriveManager.GetStorageName(), OneDriveManager);
            StorageHelper.AddStorageManager(DropBoxManager.GetStorageName(), DropBoxManager);
            StorageHelper.AddStorageManager(GoogleDriveManger.GetStorageName(), GoogleDriveManger);
            Switcher.SetStorageToMainPlatform();
            AccountManager = new AccountManager();
        }
        public void TestInit1()
        {
            //App.MobileService = new MobileServiceClient(
            //    "https://pinthecloud.azure-mobile.net/",
            //    "yvulzHAGRgNsGnPLHKcEFCPJcuyzKj23"
            //);
            App.ApplicationSessions = new WSApplicationSessions();
            App.ApplicationSettings = new WSApplicationSettings();

            // Manager
            App.SpotManager         = new SpotManager();
            App.Geolocator          = new Geolocator();
            App.BlobStorageManager  = new BlobStorageManager();
            App.LocalStorageManager = new LocalStorageManager();

            IStorageManager OneDriveManager   = new OneDriveManager();
            IStorageManager DropBoxManager    = new DropboxManager();
            IStorageManager GoogleDriveManger = new GoogleDriveManager();


            /////////////////////////////////////////////////////
            // This order will be displayed at every App Pages
            /////////////////////////////////////////////////////
            StorageHelper.AddStorageManager(OneDriveManager.GetStorageName(), OneDriveManager);
            StorageHelper.AddStorageManager(DropBoxManager.GetStorageName(), DropBoxManager);
            StorageHelper.AddStorageManager(GoogleDriveManger.GetStorageName(), GoogleDriveManger);
            Switcher.SetStorageToMainPlatform();
            App.AccountManager = new AccountManager();


            if (!App.ApplicationSettings.Contains(Switcher.MAIN_PLATFORM_TYPE_KEY))
            {
                App.ApplicationSettings[Switcher.MAIN_PLATFORM_TYPE_KEY] = AppResources.OneDrive;
            }

            // Check nick name at frist login.
            if (!App.ApplicationSettings.Contains(StorageAccount.ACCOUNT_DEFAULT_SPOT_NAME_KEY))
            {
                App.ApplicationSettings[StorageAccount.ACCOUNT_DEFAULT_SPOT_NAME_KEY] = AppResources.AtHere;
            }

            // Check location access consent at frist login.
            if (!App.ApplicationSettings.Contains(StorageAccount.LOCATION_ACCESS_CONSENT_KEY))
            {
                App.ApplicationSettings[StorageAccount.LOCATION_ACCESS_CONSENT_KEY] = false;
            }


            // Do Signin work of each cloud storage.
            if (App.AccountManager.IsSignIn())
            {
                if (NetworkInterface.GetIsNetworkAvailable())
                {
                    TaskHelper.AddTask(App.AccountManager.GetPtcId(), App.AccountManager.SignIn());
                    using (var itr = StorageHelper.GetStorageEnumerator())
                    {
                        while (itr.MoveNext())
                        {
                            if (itr.Current.IsSignIn())
                            {
                                TaskHelper.AddSignInTask(itr.Current.GetStorageName(), itr.Current.SignIn());
                            }
                        }
                    }
                }
            }
        }
 public void Stop()
 {
     OneDriveManager oneDrive = new OneDriveManager();
     //bool isSuccess = oneDrive.Pause("");
 }