public SignatureUserControlViewModel( IOpenFileInteractionHelper openFileInteractionHelper, EditionHelper editionHelper, ICurrentSettings <Conversion.Settings.Accounts> accountsProvider, ITranslationUpdater translationUpdater, ICurrentSettingsProvider currentSettingsProvider, ICommandLocator commandLocator, ISignaturePasswordCheck signaturePasswordCheck, IFile file, ITokenViewModelFactory tokenViewModelFactory, IDispatcher dispatcher, IGpoSettings gpoSettings, ISigningPositionToUnitConverterFactory signingPositionToUnitConverter, ICurrentSettings <ApplicationSettings> applicationSettings) : base(translationUpdater, currentSettingsProvider, dispatcher) { _openFileInteractionHelper = openFileInteractionHelper; _commandLocator = commandLocator; _signaturePasswordCheck = signaturePasswordCheck; _file = file; _gpoSettings = gpoSettings; _signingPositionToUnitConverter = signingPositionToUnitConverter; ApplicationSettings = applicationSettings; UnitConverter = _signingPositionToUnitConverter?.CreateSigningPositionToUnitConverter(UnitOfMeasurement.Centimeter); translationUpdater.RegisterAndSetTranslation(tf => SetTokenViewModels(tokenViewModelFactory)); currentSettingsProvider.SelectedProfileChanged += (sender, args) => SetTokenViewModels(tokenViewModelFactory); if (editionHelper != null) { OnlyForPlusAndBusiness = editionHelper.ShowOnlyForPlusAndBusiness; } _timeServerAccounts = accountsProvider?.Settings.TimeServerAccounts; if (_timeServerAccounts != null) { TimeServerAccountsView = new ListCollectionView(_timeServerAccounts); TimeServerAccountsView.SortDescriptions.Add(new SortDescription(nameof(TimeServerAccount.AccountInfo), ListSortDirection.Ascending)); } ChooseCertificateFileCommand = new DelegateCommand(ChooseCertificateFileExecute); ChangeUnitConverterCommand = new DelegateCommand(ChangeUnitConverterExecute); if (Signature != null) { AskForPasswordLater = string.IsNullOrEmpty(Password); } _timeServerAccountEditCommand = _commandLocator.GetCommand <TimeServerAccountEditCommand>(); AddTimeServerAccountCommand = _commandLocator.CreateMacroCommand() .AddCommand <TimeServerAccountAddCommand>() .AddCommand(new DelegateCommand(o => SelectNewAccountInView())) .Build(); EditTimeServerAccountCommand = _commandLocator.CreateMacroCommand() .AddCommand(_timeServerAccountEditCommand) .AddCommand(new DelegateCommand(o => RefreshAccountsView())) .Build(); }
public SignatureUserControlViewModel( IOpenFileInteractionHelper openFileInteractionHelper, ICurrentSettings <Conversion.Settings.Accounts> accountsProvider, ITranslationUpdater translationUpdater, ICurrentSettingsProvider currentSettingsProvider, ICommandLocator commandLocator, ISignaturePasswordCheck signaturePasswordCheck, IFile file, ITokenViewModelFactory tokenViewModelFactory, IDispatcher dispatcher, IGpoSettings gpoSettings, ISigningPositionToUnitConverterFactory signingPositionToUnitConverter, ICurrentSettings <ApplicationSettings> applicationSettings, IHashUtil hashUtil, IInteractionRequest interactionRequest) : base(translationUpdater, currentSettingsProvider, dispatcher) { _openFileInteractionHelper = openFileInteractionHelper; _accountsProvider = accountsProvider; _translationUpdater = translationUpdater; _currentSettingsProvider = currentSettingsProvider; _signaturePasswordCheck = signaturePasswordCheck; _file = file; _tokenViewModelFactory = tokenViewModelFactory; _gpoSettings = gpoSettings; _signingPositionToUnitConverter = signingPositionToUnitConverter; _hashUtil = hashUtil; _interactionRequest = interactionRequest; ApplicationSettings = applicationSettings; UnitConverter = _signingPositionToUnitConverter?.CreateSigningPositionToUnitConverter(UnitOfMeasurement.Centimeter); ChooseCertificateFileCommand = new DelegateCommand(ChooseCertificateFileExecute); ChangeUnitConverterCommand = new DelegateCommand(ChangeUnitConverterExecute); AddTimeServerAccountCommand = commandLocator.CreateMacroCommand() .AddCommand <TimeServerAccountAddCommand>() .AddCommand(new DelegateCommand(o => SelectNewAccountInView())) .Build(); EditTimeServerAccountCommand = commandLocator.CreateMacroCommand() .AddCommand <TimeServerAccountEditCommand>() .AddCommand(new DelegateCommand(o => RefreshAccountsView())) .Build(); SignaturePasswordCommand = new DelegateCommand(ShowPasswordEntryInteraction); }