public FolderInfoViewModel(FolderType folderType, ISettingsManager settingsManager,
                                   IFolderDialogManager folderDialogManager, IFilesManager filesManager)
        {
            _folderType                = folderType;
            _settingsManager           = settingsManager;
            _folderDialogManager       = folderDialogManager;
            _filesManager              = filesManager;
            InSourceFileNotExistTarget = new ObservableCollection <FileElementViewModel>();
            OpenFolderCommand          = new DelegateCommand(OpenFolderPath);

            switch (_folderType)
            {
            case FolderType.SourceFolder:
                SourcePath = _settingsManager.SettingsModel.DefaultSourceFolder;
                break;

            case FolderType.TargetFolder:
                SourcePath = _settingsManager.SettingsModel.DefaultTargetFolder;
                break;

            case FolderType.FolderForHistory:
                SourcePath = _settingsManager.SettingsModel.FolderForHistory;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(_folderType), _folderType, null);
            }
        }
        public MainWindowViewModel(ISettingsManager settingsManager,
                                   IFolderDialogManager folderDialogManager,
                                   IFilesManager filesManager,
                                   IEventManager eventManager)
        {
            _settingsManager = settingsManager;
            _filesManager    = filesManager;
            _eventManager    = eventManager;
            LocalizationManager.Instance.SetCulture(_settingsManager.SettingsModel.CultureInfo);


            _eventManager.CopyActionStarted   += FilesManagerOnCopyActionStarted;
            _eventManager.RemoveActionStarted += FilesManagerOnRemoveActionStarted;
            _eventManager.ActionCompleted     += FilesManagerOnActionCompleted;

            SourceViewModel = new FolderInfoViewModel(FolderType.SourceFolder, _settingsManager, folderDialogManager,
                                                      filesManager);
            TargetViewModel = new FolderInfoViewModel(FolderType.TargetFolder, _settingsManager, folderDialogManager,
                                                      filesManager);

            HistoryCommandNotificationRequest  = new InteractionRequest <INotification>();
            SettingsCommandNotificationRequest = new InteractionRequest <INotification>();
            CompletedNotificationRequest       = new InteractionRequest <INotification>();

            RefreshCommand = new DelegateCommand(RefreshAction);
            SettingCommand = new DelegateCommand(SettingsAction);
            HistoryCommand = new DelegateCommand(HistoryAction);

            StartCommand = new DelegateCommand(StartAction);
            CloseCommand = new DelegateCommand(CloseAction);

            FileAction = FileAction.Not;
        }
Example #3
0
        public SettingsWindowViewModel(ISettingsManager settingsManager, IFolderDialogManager folderDialogManager, ILocalizationManager localizationManager)
        {
            _settingsManager     = settingsManager;
            _folderDialogManager = folderDialogManager;
            _localizationManager = localizationManager;

            FolderForHistory  = settingsManager.SettingsModel.FolderForHistory;
            IsUseFilter       = settingsManager.SettingsModel.IsUseFilter;
            IsUseIgnoreFilter = settingsManager.SettingsModel.IsUseIgnoreFilter;

            FilteredFileFormat = string.Join(";", settingsManager.SettingsModel.FilteredFileFormat);

            IgnorableFileFormat = string.Join(";", settingsManager.SettingsModel.IgnorableFileFormat);

            SaveCommand       = new DelegateCommand(Save);
            OpenFolderCommand = new DelegateCommand(OpenFolderPath);

            Locale = _settingsManager.SettingsModel.CultureInfo.Name;
        }