浏览代码

Added method ComparisonDifference.Reverse to .NET assembly

Source commit: 59c59039eefffa1f6ff80dc4d47460471981d73d
Martin Prikryl 4 年之前
父节点
当前提交
4fa9066077
共有 1 个文件被更改,包括 33 次插入0 次删除
  1. 33 0
      dotnet/ComparisonDifference.cs

+ 33 - 0
dotnet/ComparisonDifference.cs

@@ -119,6 +119,39 @@ namespace WinSCP
             }
         }
 
+        public void Reverse()
+        {
+            switch (Action)
+            {
+                case SynchronizationAction.UploadNew:
+                    Action = SynchronizationAction.DeleteLocal;
+                    break;
+
+                case SynchronizationAction.DownloadNew:
+                    Action = SynchronizationAction.DeleteRemote;
+                    break;
+
+                case SynchronizationAction.UploadUpdate:
+                    Action = SynchronizationAction.DownloadUpdate;
+                    break;
+
+                case SynchronizationAction.DownloadUpdate:
+                    Action = SynchronizationAction.UploadUpdate;
+                    break;
+
+                case SynchronizationAction.DeleteRemote:
+                    Action = SynchronizationAction.DownloadNew;
+                    break;
+
+                case SynchronizationAction.DeleteLocal:
+                    Action = SynchronizationAction.UploadNew;
+                    break;
+
+                default:
+                    throw new InvalidOperationException();
+            }
+        }
+
         private readonly string _localPath;
         private readonly string _remotePath;
     }