Example #1
0
        /// <summary>
        /// Creates a job from the specified job setting.
        /// </summary>
        /// <param name="setting">The job setting.</param>
        /// <returns>
        /// A job that is created from the specified job setting.
        /// </returns>
        public static Job CreateJobFromSetting(JobSetting setting)
        {
            IFileSystem firstFileSystem = setting.FirstFileSystemSetting.GetFileSystem();
            IFileSystem secondFileSystem = setting.SecondFileSystemSetting.GetFileSystem();

            IDirectoryInfo firstRootDirectory = setting.FirstFileSystemSetting.GetRootDirectory();
            IDirectoryInfo secondRootDirectory = setting.SecondFileSystemSetting.GetRootDirectory();

            switch (setting.SyncMode)
            {
                case SyncMode.Backup:
                    return new BackupJob(setting.Name, firstFileSystem, secondFileSystem, firstRootDirectory, secondRootDirectory);

                case SyncMode.Synchronization:
                    return new SyncJob(setting.Name, firstFileSystem, secondFileSystem, firstRootDirectory, secondRootDirectory);
            }

            throw new InvalidOperationException();
        }
Example #2
0
        /// <summary>
        /// Creates a job from the specified job setting.
        /// </summary>
        /// <param name="setting">The job setting.</param>
        /// <returns>
        /// A job that is created from the specified job setting.
        /// </returns>
        public static Job CreateJobFromSetting(JobSetting setting)
        {
            IFileSystem firstFileSystem  = setting.FirstFileSystemSetting.GetFileSystem();
            IFileSystem secondFileSystem = setting.SecondFileSystemSetting.GetFileSystem();

            IDirectoryInfo firstRootDirectory  = setting.FirstFileSystemSetting.GetRootDirectory();
            IDirectoryInfo secondRootDirectory = setting.SecondFileSystemSetting.GetRootDirectory();

            switch (setting.SyncMode)
            {
            case SyncMode.Backup:
                return(new BackupJob(setting.Name, firstFileSystem, secondFileSystem, firstRootDirectory, secondRootDirectory));

            case SyncMode.Synchronization:
                return(new SyncJob(setting.Name, firstFileSystem, secondFileSystem, firstRootDirectory, secondRootDirectory));
            }

            throw new InvalidOperationException();
        }