private async Task TakeOffline(IRemoteClient client, Deployment deployment) { if (string.IsNullOrEmpty(deployment.OfflineFile)) { return; } IRemoteFolder folder = await GetFolder(client, deployment.RemotePath); IRemoteFile offlineFile = folder?.Files.FirstOrDefault(x => x.Name.StartsWith(deployment.OfflineFile, StringComparison.OrdinalIgnoreCase)); if (offlineFile == null) { return; } if (offlineFile.Name.Equals(deployment.OfflineFile, StringComparison.OrdinalIgnoreCase)) { return; } await client.MoveFile(offlineFile.Path, $"{folder.Path}{client.PathSeparator}{deployment.OfflineFile}"); _remoteFolderCache.Remove(folder.Path); }
private async Task PutOnline(IRemoteClient client, Deployment deployment) { if (string.IsNullOrEmpty(deployment.OfflineFile)) { return; } IRemoteFolder folder = await GetFolder(client, deployment.RemotePath); IRemoteFile offlineFile = folder?.Files.FirstOrDefault(x => x.Name.Equals(deployment.OfflineFile)); if (offlineFile == null) { return; } await client.MoveFile(offlineFile.Path, $"{offlineFile.Path}.x"); _remoteFolderCache.Remove(folder.Path); }