public bool InitFileUploadOnServerExt() { var uploadFileName = Path.GetFileName(_file); StartFileUploadResponse startFileUploadResponse = (StartFileUploadResponse)DBFileUploader.StartFileUpload(_file, _userId, "", _uploadMethod); bool rtn = true; if (startFileUploadResponse.UploadedCompleted) { MessageBox.Show("Already Copyed File: " + Path.GetFileName(_file) + " using " + startFileUploadResponse.UploadMethod.ToString()); return(false); } if (startFileUploadResponse.AlredayUploded) { _startingIndex = startFileUploadResponse.StartingIndex; var uploadedSoFarMsg = string.Format("{0} MB of {1} MB", ConvertBytesToMegabytes(_startingIndex).ToString(), fileSizeInMB.ToString()); worker.ReportProgress((int)(_startingIndex / _bufferLength), uploadedSoFarMsg); } else { startFileUploadResponse.UploadMethod = _uploadMethod; } fileUploadId = startFileUploadResponse.FileUploadID; fileUploadGUID = startFileUploadResponse.FileUploadGUID; var uploadMethod = startFileUploadResponse.UploadMethod; _fileCopyer = GetFileCopyer(uploadMethod); return(rtn); }
private BaseFileCopyer GetFileCopyer(string uploadMethod) { BaseFileCopyer fileCopyer = null; switch (uploadMethod) { case "HTTP": fileCopyer = new HttpFileCopyer(); break; case "FTP": fileCopyer = new FTPFileCopyer(); break; case "VNC": fileCopyer = new VNCFileCopyer(); break; default: throw new Exception("Invalid Copyer :" + uploadMethod); } return(fileCopyer); }