Beispiel #1
0
        protected override CompareSyncMessageEventArgs DoBehaviorAction(CompareItem item)
        {
            CompareSyncMessageEventArgs result = new CompareSyncMessageEventArgs();

            switch (item.CompareState)
            {
            case CompareStateType.Different:
            case CompareStateType.LeftOrphan:
                string dir = Path.GetDirectoryName(Path.Combine(this.Worker.RightCompareRootPath, item.RelativePath));
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }
                File.Copy(item.Left.FullPath, item.Right.FullPath, true);
                result.SyncActionText = string.Format("'{0}' copied to '{1}'", item.RelativePath, item.RightCompareRootPath);
                result.SyncAction     = SyncActionType.Copied;
                break;

            case CompareStateType.RightOrphan:
                File.Delete(item.Right.FullPath);
                result.SyncActionText = string.Format("'{0}' deleted from '{1}'", item.RelativePath, item.RightCompareRootPath);
                result.SyncAction     = SyncActionType.Deleted;
                break;
            }
            return(result);
        }
Beispiel #2
0
		public CompareSyncMessageEventArgs SyncItem(CompareItem item)
		{
			CompareSyncMessageEventArgs result = new CompareSyncMessageEventArgs();
			switch(item.CompareState)
			{
				case CompareStateType.Unknown:
				case CompareStateType.Match:
					result.SyncActionText = string.Format("No action taken on '{0}'", item.RelativePath);
					result.SyncAction = SyncActionType.None;
					break;
				case CompareStateType.LeftOrphan:
				case CompareStateType.RightOrphan:
				case CompareStateType.Different:
					result = DoBehaviorAction(item);
					break;
			}
			return result;
		}
        protected override CompareSyncMessageEventArgs DoBehaviorAction(CompareItem item)
        {
            CompareSyncMessageEventArgs result = new CompareSyncMessageEventArgs();

            switch (item.CompareState)
            {
            case CompareStateType.Different:
            case CompareStateType.LeftOrphan:
                result.SyncActionText = string.Format("'{0}' will be copied to '{1}'", item.RelativePath, item.RightCompareRootPath);
                result.SyncAction     = SyncActionType.Copied;
                break;

            case CompareStateType.RightOrphan:
                result.SyncActionText = string.Format("'{0}' will be deleted from '{1}'", item.RelativePath, item.RightCompareRootPath);
                result.SyncAction     = SyncActionType.Deleted;
                break;
            }
            return(result);
        }
Beispiel #4
0
 private void CompareSyncMessageHandler(object sender, CompareSyncMessageEventArgs e)
 {
     Debug.Print(string.Format("{0} ==> {1}", e.Item.RelativePath, e.Item.RightCompareRootPath));
 }