Example #1
0
        public async void DuplicateCredentialCommandAction(Object parameter)
        {
            App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "Duplicate credential command invoked.");

            Credential credential       = (Credential)parameter;
            string     offsetNamePrefix = credential.Name;
            int        offset           = 1;
            string     offsetNameSuffix = String.Format("({0})", offset);
            string     offsetName       = String.Format("{0} {1}", offsetNamePrefix, offsetNameSuffix);

            while (Vault.CredentialExists(offsetName))
            {
                offset          += 1;
                offsetNameSuffix = String.Format("({0})", offset);
                offsetName       = String.Format("{0} {1}", offsetNamePrefix, offsetNameSuffix);
            }
            Credential copy = credential.Clone(false);

            copy.Name = offsetName;
            Vault.AddCredential(copy, true);

            if (AppConfig.Instance.AutoSave && AppConfig.Instance.AutoSaveOnDuplicatingCred)
            {
                Common.SaveResult saveResult = await Save();

                if (saveResult == Common.SaveResult.Success)
                {
                    VaultIndexFile.Invalidate();
                }
            }

            NotifyPropertyChanged("FilteredCredentials");
        }
Example #2
0
        public void FixCommandAction(object parameter)
        {
            Credential credential     = (Credential)parameter;
            Credential credentialCopy = credential.Clone(true);

            credentialCopy.BlockVaultDirty = true;
            App.Controller.NavigateTo("crededit",
                                      new KeyValuePair <String, Object>("Credential", credentialCopy),
                                      new KeyValuePair <String, Object>("Mode", CreateCredentialViewModel.EditorMode.Edit));
        }
Example #3
0
        public void EditCredentialCommandAction(Object parameter)
        {
            App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "Edit credential command invoked.");

            Credential credential     = (Credential)parameter;
            Credential credentialCopy = credential.Clone(true);

            credentialCopy.BlockVaultDirty = true;
            App.Controller.NavigateTo("crededit",
                                      new KeyValuePair <String, Object>("Credential", credentialCopy),
                                      new KeyValuePair <String, Object>("Mode", CreateCredentialViewModel.EditorMode.Edit));
        }
Example #4
0
        public CredentialsEditor(IPasswordSafe passwordManager, Credential credential)
        {
            InitializeComponent();
            DoMagic();
            SetInstance(passwordManager);

            EditedCredential = credential;
            _credential      = (Credential)credential.Clone();

            tbName.Text     = _credential.Name;
            tbUrl.Text      = _credential.URL;
            tbUsername.Text = _credential.Username;
            tbPassword.Text = _credential.Password;
            tbNotes.Text    = _credential.Notes;
        }
Example #5
0
        public Credential DuplicateCredential(Credential credential)
        {
            if (credential == null)
            {
                throw new InvalidOperationException("Keine Credentials ausgewählt.");
            }

            Credential duplicate = (Credential)credential.Clone();

            RenameCopy(duplicate);

            ICommand command = new AddCredentialCommand()
            {
                CredentialToCreate = duplicate,
                Group = duplicate.Group
            };

            ExecuteCommand(command);

            return(duplicate);
        }