Ejemplo n.º 1
0
        /// <summary>
        /// Adds the specified sync task.
        /// </summary>
        /// <param name="syncTask">The sync task.</param>
        /// <param name="syncItem">The sync item.</param>
        internal void Add(SyncTask syncTask, SyncItemBase syncItem)
        {
            if (syncTask == null)
            {
                throw new ArgumentNullException("syncTask");
            }

            if (syncItem == null)
            {
                throw new ArgumentNullException("syncItem");
            }

            SyncTaskPreview syncTaskPreview;

            if (this.SyncTaskPreviewBySyncTask.TryGetValue(syncTask, out syncTaskPreview))
            {
                syncTaskPreview.Add(syncItem);
            }
            else
            {
                syncTaskPreview = new SyncTaskPreview();
                syncTaskPreview.Add(syncItem);
                this.SyncTaskPreviewBySyncTask[syncTask] = syncTaskPreview;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Executed when a directory was found on target directory.
        /// </summary>
        /// <param name="directory">The found directory.</param>
        /// <param name="syncTask">The sync task.</param>
        /// <param name="syncPreview">The sync preview.</param>
        private static void DirectoryFoundOnTargetDirectory(string directory, SyncTask syncTask, SyncPreview syncPreview)
        {
            string relativePath    = directory.Substring(syncTask.TargetDirectory.Length);
            string targetDirectory = Path.Combine(syncTask.ReferenceDirectory, relativePath);

            SyncItemBase syncItem = syncTask.SyncMode.DirectoryFoundOnTargetDirectory(targetDirectory, directory);

            if (syncItem != null)
            {
                syncPreview.Add(syncTask, syncItem);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Executed when a file was found on reference directory.
        /// </summary>
        /// <param name="file">The found file.</param>
        /// <param name="syncTask">The sync task.</param>
        /// <param name="syncPreview">The sync preview.</param>
        private static void FileFoundOnReferenceDirectory(string file, SyncTask syncTask, SyncPreview syncPreview)
        {
            string relativePath = file.Substring(syncTask.ReferenceDirectory.Length);
            string targetFile   = Path.Combine(syncTask.TargetDirectory, relativePath);

            SyncItemBase syncItem = syncTask.SyncMode.FileFoundOnReferenceDirectory(file, targetFile);

            if (syncItem != null)
            {
                syncPreview.Add(syncTask, syncItem);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Adds the specified sync item.
        /// </summary>
        /// <param name="syncItem">The sync item.</param>
        internal void Add(SyncItemBase syncItem)
        {
            CopyFileSyncItem copyFileSyncItem = syncItem as CopyFileSyncItem;

            if (copyFileSyncItem != null)
            {
                this.copyFileSyncItems.Add(copyFileSyncItem);
                return;
            }

            DeleteFileSyncItem deleteFileSyncItem = syncItem as DeleteFileSyncItem;

            if (deleteFileSyncItem != null)
            {
                this.deleteFileSyncItems.Add(deleteFileSyncItem);
                return;
            }

            CreateDirectorySyncItem createDirectorySyncItem = syncItem as CreateDirectorySyncItem;

            if (createDirectorySyncItem != null)
            {
                this.createDirectorySyncItems.Add(createDirectorySyncItem);
                return;
            }

            DeleteDirectorySyncItem deleteDirectorySyncItem = syncItem as DeleteDirectorySyncItem;

            if (deleteDirectorySyncItem != null)
            {
                this.deleteDirectorySyncItems.Add(deleteDirectorySyncItem);
                return;
            }

            throw new ArgumentException("SyncItem has invalid type.", "syncItem");
        }
Ejemplo n.º 5
0
        public void AddSyncItem_CalledWithSyncItemBase_ThrowsInvalidOperationException()
        {
            SyncItemBase syncItem = null;

            this.target.Add(syncItem);
        }