public ActionResult ProcessJob(Job job) { var sharedLink = job.Profile.DropboxSettings.CreateShareLink; var sharedFolder = job.TokenReplacer.ReplaceTokens(job.Profile.DropboxSettings.SharedFolder); var accountId = job.Profile.DropboxSettings.AccountId; var currentDropBoxAccount = job.Accounts.DropboxAccounts.First(s => s.AccountId.Equals(accountId)); if (sharedLink) { var sharedLinks = _dropboxService.UploadFileWithSharing( currentDropBoxAccount.AccessToken, sharedFolder, job.OutputFiles, job.Profile.DropboxSettings.EnsureUniqueFilenames); if (sharedLinks != null) { // first remove full path from filepath foreach (var item in sharedLinks) { item.FilePath = item.FilePath.Split('/').Last(); } var fullLinks = sharedLinks.Select(item => $"{item.FilePath} ( {item.SharedUrl} )").ToList(); var htmlLinks = sharedLinks.Select(item => $"<a href = '{item.SharedUrl}'>{item.FilePath}</a>").ToList(); job.TokenReplacer.AddToken(new ListToken("DROPBOXFULLLINKS", fullLinks)); job.TokenReplacer.AddToken(new ListToken("DROPBOXHTMLLINKS", htmlLinks)); } } else { _dropboxService.UploadFiles(currentDropBoxAccount.AccessToken, sharedFolder, job.OutputFiles, job.Profile.DropboxSettings.EnsureUniqueFilenames); } return(new ActionResult()); }
public void UploadFile_WhenFailsToUpload_ReturnsErrorCode() { _profile.DropboxSettings.CreateShareLink = false; _job = new Job(new JobInfo(), _profile, new JobTranslations(), _accounts); _job.OutputFiles = new[] { @"C:\Temp\file1.pdf" }.ToList(); _dropboxService.UploadFiles("", _profile.DropboxSettings.SharedFolder, _job.OutputFiles, _profile.DropboxSettings.EnsureUniqueFilenames, string.Empty).Returns(false); var result = _dropboxAction.ProcessJob(_job); Assert.AreEqual(ErrorCode.Dropbox_Upload_Error, result.FirstOrDefault()); }
public ActionResult ProcessJob(Job job) { _logger.Debug("Launched Dropbox Action"); ApplyPreSpecifiedTokens(job); var actionResult = Check(job.Profile, job.Accounts, CheckLevel.Job); if (!actionResult) { return(actionResult); } var sharedLink = job.Profile.DropboxSettings.CreateShareLink; var shareFolder = job.TokenReplacer.ReplaceTokens(job.Profile.DropboxSettings.SharedFolder); var currentDropBoxAccount = job.Accounts.GetDropboxAccount(job.Profile); if (sharedLink) { try { var shareLink = _dropboxService.UploadFileWithSharing( currentDropBoxAccount.AccessToken, shareFolder, job.OutputFiles, job.Profile.DropboxSettings.EnsureUniqueFilenames, job.OutputFileTemplate); if (shareLink == null) { return(new ActionResult(ErrorCode.Dropbox_Upload_And_Share_Error)); } job.ShareLinks.DropboxShareUrl = shareLink.ShareUrl; shareLink.Filename = shareLink.Filename.Split('/').Last(); job.TokenReplacer.AddToken(new StringToken("DROPBOXFULLLINKS", $"{shareLink.Filename} ( {shareLink.ShareUrl} )")); job.TokenReplacer.AddToken(new StringToken("DROPBOXHTMLLINKS", $"<a href = '{shareLink.ShareUrl}'>{shareLink.Filename}</a>")); } catch { return(new ActionResult(ErrorCode.Dropbox_Upload_And_Share_Error)); } } else { var result = _dropboxService.UploadFiles(currentDropBoxAccount.AccessToken, shareFolder, job.OutputFiles, job.Profile.DropboxSettings.EnsureUniqueFilenames, job.OutputFileTemplate); if (result == false) { return(new ActionResult(ErrorCode.Dropbox_Upload_Error)); } } return(new ActionResult()); }
public ActionResult ProcessJob(Job job) { var sharedLink = job.Profile.DropboxSettings.CreateShareLink; var sharedFolder = job.TokenReplacer.ReplaceTokens(job.Profile.DropboxSettings.SharedFolder); var accountId = job.Profile.DropboxSettings.AccountId; var currentDropBoxAccount = job.Accounts.DropboxAccounts.First(s => s.AccountId.Equals(accountId)); if (sharedLink) { try { var sharedLinks = _dropboxService.UploadFileWithSharing( currentDropBoxAccount.AccessToken, sharedFolder, job.OutputFiles, job.Profile.DropboxSettings.EnsureUniqueFilenames, job.OutputFilenameTemplate); if (sharedLinks == null) { return(new ActionResult(ErrorCode.Dropbox_Upload_And_Share_Error)); } sharedLinks.FilePath = sharedLinks.FilePath.Split('/').Last(); job.TokenReplacer.AddToken(new StringToken("DROPBOXFULLLINKS", $"{sharedLinks.FilePath} ( {sharedLinks.SharedUrl} )")); job.TokenReplacer.AddToken(new StringToken("DROPBOXHTMLLINKS", $"<a href = '{sharedLinks.SharedUrl}'>{sharedLinks.FilePath}</a>")); if (job.Profile.AutoSave.Enabled == false) { ShowWindowWithSharedLinks(sharedLinks); } } catch { return(new ActionResult(ErrorCode.Dropbox_Upload_And_Share_Error)); } } else { var result = _dropboxService.UploadFiles(currentDropBoxAccount.AccessToken, sharedFolder, job.OutputFiles, job.Profile.DropboxSettings.EnsureUniqueFilenames, job.OutputFilenameTemplate); if (result == false) { return(new ActionResult(ErrorCode.Dropbox_Upload_Error)); } } return(new ActionResult()); }