Пример #1
0
 public Copy(string host, string user, string pass)
 {
     _stateMove = new Move(host, user, pass)
     {
         IsCopy = true
     };
 }
Пример #2
0
        private static TaskStateMove CopyExecute(string fromPath, string toPath, ProgressHandler progressHandler, bool hasExceptions)
        {
            TaskStateMove state = null;

            switch (PrefC.AtoZfolderUsed)
            {
            case DataStorageType.DropboxAtoZ:
                state = new OpenDentalCloud.Dropbox.Copy(Dropbox.AccessToken)
                {
                    FromPath        = PathTidy(fromPath),
                    ToPath          = PathTidy(toPath),
                    ProgressHandler = progressHandler,
                    HasExceptions   = hasExceptions
                };
                break;

            case DataStorageType.SftpAtoZ:
                state = new OpenDentalCloud.Sftp.Copy(ODSftp.Hostname, ODSftp.UserName, ODSftp.Password)
                {
                    FromPath        = PathTidy(fromPath),
                    ToPath          = PathTidy(toPath),
                    ProgressHandler = progressHandler,
                    HasExceptions   = hasExceptions
                };
                break;

            case DataStorageType.InDatabase:
            case DataStorageType.LocalAtoZ:
                //Local storage methods should never be calling this method, throw an exception so it's more obvious that this was the issue,
                //rather than returning null and having the method throw a null exception later.
                throw new Exception("Unknown cloud storage type: " + PrefC.AtoZfolderUsed.ToString());

            default:
                throw new Exception("DataStorageType: " + PrefC.AtoZfolderUsed.ToString() + " not implemented.");
            }
            state.Execute(progressHandler != null);
            return(state);
        }