Ejemplo n.º 1
0
        private async Task LoadGoogleFile(string id, DriveInfo driveinfo)
        {
            GoogleFolder google = new GoogleFolder(driveinfo);
            await google.AddFiles(id);

            all.Add(google);
        }
Ejemplo n.º 2
0
        private async Task LoadGoogleFile(string id, DriveService service)
        {
            GoogleFolder google = new GoogleFolder(service);
            await google.AddFiles(id);

            folder.Add(google);
        }
Ejemplo n.º 3
0
        public void SyncFolder(SourceFolder sourceFolder, GoogleFolder remoteFolder)
        {
            if (sourceFolder.Files != null)
            {
                foreach (var file in sourceFolder.Files)
                {
                    if (!_googleDriveService.DoesFileExistInFolder(remoteFolder, file.FileName))
                    {
                        try
                        {
                            var remoteFile = _googleDriveService.UploadFile(remoteFolder, file.FileName, file.FullLocation, file.MimeType);
                            _log.Info("File {0} uploaded, google id: {1}", file.FullLocation, remoteFile.Id);
                        }
                        catch (Exception ex)
                        {
                            _log.Error(ex);
                        }
                    }
                    else
                    {
                        _log.Info("File {0} already exists", file.FullLocation);
                    }
                }
            }
            if (sourceFolder.Folders != null)
            {
                foreach (var childFolder in sourceFolder.Folders)
                {
                    if (_googleDriveService.DoesFolderExistInFolder(remoteFolder, childFolder.FolderName))
                    {
                        try
                        {
                            var childRemoteFolder = _googleDriveService.CreateFolder(remoteFolder, childFolder.FolderName);
                            _log.Info("Folder {0} created, google id: {1}", childFolder.FullLocation, childRemoteFolder.Id);

                            SyncFolder(childFolder, childRemoteFolder);
                        }
                        catch (Exception ex)
                        {
                            _log.Error(ex);
                        }
                    }
                    else
                    {
                        _log.Info("Folder {0} already exists", childFolder.FullLocation);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public CloudFiles CreateFile(Dictionary <string, object> fileinfo)
        {
            CloudFiles files = null;

            if (driveinfo.token.Drive == "Google")
            {
                GoogleFolder folder = new GoogleFolder(driveinfo);
                files = folder.AddFiles(fileinfo);
            }
            else if (driveinfo.token.Drive == "OneDrive")
            {
                OneDriveFolder folder = new OneDriveFolder(driveinfo);
                files = folder.AddFiles(fileinfo);
            }
            else if (driveinfo.token.Drive == "DropBox")
            {
                DropBoxFolder folder = new DropBoxFolder(driveinfo);
                files = folder.AddFiles(fileinfo);
            }
            return(files);
        }
Ejemplo n.º 5
0
        public static string InitTreeView(string accessToken, string refreshToken)
        {
            try
            {
                // Make the Auth request to Google
                SpreadsheetsService sheetsService = GoogleOAuth2.GoogleAuthSheets(accessToken, refreshToken);
                if (sheetsService == null)
                {
                    return("");
                }

                // Get list of sheets
                DriveService driveService = GoogleOAuth2.GoogleAuthDrive(accessToken, refreshToken);
                if (driveService == null)
                {
                    return("");
                }
                List <GoogleSheet> sheetList = GoogleDriveHelpers.GoogleRetrieveAllSheets(sheetsService);
                GoogleFolder       root      = GoogleDriveHelpers.GoogleRetrieveSheetTree(driveService, null, ref sheetList);

                System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(root.GetType());
                //using (var stream = new StreamWriter(@"", false))
                //{
                //    x.Serialize(stream, root);
                //}

                string xmlStr = GoogleDriveHelpers.SerializeXml <GoogleFolder>(root);
                xmlStr = xmlStr.Replace("<Children>", "").Replace("<Children />", "").Replace("</Children>", "");
                xmlStr = xmlStr.Replace("<Sheets>", "").Replace("<Sheets />", "").Replace("</Sheets>", "");

                return(xmlStr);
            }
            catch (Exception ex)
            {
                return("");
            }
        }
Ejemplo n.º 6
0
        private async void NavigateToItem(CloudFiles item)
        {
            flowLayoutPanel_filecontent.Controls.Clear();
            if ((item as GoogleFile) != null)
            {
                GoogleFile file      = (GoogleFile)item;
                AllFolder  newfolder = new GoogleFolder(file.Service);
                await newfolder.AddFiles(file.GetId());

                LoadTile(newfolder);
            }
            else if ((item as OneDriveFile) != null)
            {
                OneDriveFile file      = (OneDriveFile)item;
                AllFolder    newfolder = new OneDriveFolder(file.Connect);
                await newfolder.AddFiles(file.GetId());

                LoadTile(newfolder);
            }
            else
            {
                MessageBox.Show("파일 열기 실패");
            }
        }