Exemplo n.º 1
0
        public virtual void Initialize()
        {
            Step1Settings settings = _settingsService.LoadSettings <Step1Settings>("Step1Settings");

            if (settings != null && settings.SaveSettings)
            {
                _pathsFrom          = new List <string>(settings.PathsFrom);
                _selectedFilesLimit = FilesLimitTypes.SingleOrDefault(x => x.ID == settings.SelectedFilesLimitID);

                if (_selectedFilesLimit == null)
                {
                    _selectedFilesLimit = FilesLimitTypes.First();
                }

                _findOnlyUniqueFiles = settings.FindOnlyUniqueFiles;
                _saveSettings        = settings.SaveSettings;
                FilesSize            = GetFilesSizeLimitSettings(settings);
                FilesNumber          = GetFilesNumberLimitSettings(settings);
                FilesAndFolders      = GetFilesAndFoldersLimitSettings(settings);
            }
            else
            {
                _pathsFrom           = new List <string>();
                _selectedFilesLimit  = FilesLimitTypes.First();
                _findOnlyUniqueFiles = true;
                _saveSettings        = false;
                FilesSize            = GetFilesSizeLimitSettings();
                FilesNumber          = GetFilesNumberLimitSettings();
                FilesAndFolders      = GetFilesAndFoldersLimitSettings();
            }
        }
Exemplo n.º 2
0
 public virtual FilesAndFoldersLimitSettings GetFilesAndFoldersLimitSettings(Step1Settings settings = null)
 {
     if (settings != null)
     {
         return(new FilesAndFoldersLimitSettings(settings.FoldersNumber, settings.FilesInFolderNumber, settings.OrganizeFiles));
     }
     else
     {
         return(new FilesAndFoldersLimitSettings());
     }
 }
Exemplo n.º 3
0
 public virtual FilesNumberLimitSettings GetFilesNumberLimitSettings(Step1Settings settings = null)
 {
     if (settings != null)
     {
         return(new FilesNumberLimitSettings(settings.FilesNumber));
     }
     else
     {
         return(new FilesNumberLimitSettings());
     }
 }
Exemplo n.º 4
0
 public virtual FilesSizeLimitSettings GetFilesSizeLimitSettings(Step1Settings settings = null)
 {
     if (settings != null)
     {
         return(new FilesSizeLimitSettings(settings.SelectedSizeID, settings.SizeLimit));
     }
     else
     {
         return(new FilesSizeLimitSettings());
     }
 }
Exemplo n.º 5
0
        public void Initialize_LoadSavedSettings_ViewModelIsInitializedWithLoadedSettings()
        {
            Step1Settings savedSettings = new Step1Settings
            {
                PathsFrom            = new string [] { "TestPathFrom" },
                SelectedFilesLimitID = 1,
                SaveSettings         = true,
                SelectedSizeID       = 5,
                FindOnlyUniqueFiles  = true,
                SizeLimit            = 0.0001,
                FilesNumber          = 1111,
                FoldersNumber        = 22222,
                FilesInFolderNumber  = 3333,
                OrganizeFiles        = true
            };

            Mock <FilesSizeLimitSettings>       filesSizeLimitSettingsMock       = new Mock <FilesSizeLimitSettings>(It.IsAny <int>(), It.IsAny <double>());
            Mock <FilesNumberLimitSettings>     filesNumberLimitSettingsMock     = new Mock <FilesNumberLimitSettings>(It.IsAny <int>());
            Mock <FilesAndFoldersLimitSettings> filesAndFoldersLimitSettingsMock = new Mock <FilesAndFoldersLimitSettings>(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>());

            _settingsServiceMock.Setup(x => x.LoadSettings <Step1Settings>("Step1Settings")).Returns(savedSettings);

            _step1ViewModelMock.SetupGet(x => x.FilesLimitTypes).Returns(new ReadOnlyCollection <Limit>(new List <Limit>()
            {
                new Limit {
                    ID = 2
                },
                new Limit {
                    ID = 1
                },
                new Limit {
                    ID = 100
                }
            }));

            _step1ViewModelMock.Setup(x => x.GetFilesSizeLimitSettings(savedSettings)).Returns(filesSizeLimitSettingsMock.Object);
            _step1ViewModelMock.Setup(x => x.GetFilesNumberLimitSettings(savedSettings)).Returns(filesNumberLimitSettingsMock.Object);
            _step1ViewModelMock.Setup(x => x.GetFilesAndFoldersLimitSettings(savedSettings)).Returns(filesAndFoldersLimitSettingsMock.Object);

            Assert.AreEqual(savedSettings.PathsFrom, _step1ViewModelMock.Object.PathsFrom);
            Assert.AreEqual(_step1ViewModelMock.Object.FilesLimitTypes[1], _step1ViewModelMock.Object.SelectedFilesLimit);
            Assert.AreEqual(savedSettings.FindOnlyUniqueFiles, _step1ViewModelMock.Object.FindOnlyUniqueFiles);
            Assert.AreEqual(savedSettings.SaveSettings, _step1ViewModelMock.Object.SaveSettings);
            Assert.AreEqual(filesSizeLimitSettingsMock.Object, _step1ViewModelMock.Object.FilesSize);
            Assert.AreEqual(filesNumberLimitSettingsMock.Object, _step1ViewModelMock.Object.FilesNumber);
            Assert.AreEqual(filesAndFoldersLimitSettingsMock.Object, _step1ViewModelMock.Object.FilesAndFolders);
        }
Exemplo n.º 6
0
        public virtual void UpdateSettings()
        {
            if (SaveSettings)
            {
                Step1Settings settings = new Step1Settings
                {
                    FindOnlyUniqueFiles  = FindOnlyUniqueFiles,
                    PathsFrom            = PathsFrom.ToArray(),
                    SelectedFilesLimitID = SelectedFilesLimit != null ? SelectedFilesLimit.ID : (int?)null,
                    SelectedSizeID       = FilesSize.SelectedSize != null ? FilesSize.SelectedSize.ID : (int?)null,
                    SizeLimit            = FilesSize.SizeLimit,
                    FilesNumber          = FilesNumber.Number,
                    FilesInFolderNumber  = FilesAndFolders.FilesNumber,
                    FoldersNumber        = FilesAndFolders.FoldersNumber,
                    SaveSettings         = SaveSettings
                };

                _settingsService.SaveSettings("Step1Settings", settings);
            }
            else
            {
                _settingsService.RemoveSettings("Step1Settings");
            }
        }