/// <summary> /// Adds a regular expression using addRegexView. /// </summary> public void AddRegExCmd() { try { bool dialogResult = _windowManager.ShowDialog(_addRegexViewModel) ?? false; if (dialogResult) { PasswordRegExs.Add(new PasswordRegEx(_regExService, _addRegexViewModel.RegEx)); /* Select first RegEx in list. */ SelectedRegEx = PasswordRegExs.FirstOrDefault(); } } catch (Exception ex) { BusyStateManager.SetMessage(SeverityType.Error, ex.Message); BusyStateManager.ClearBusy(); } }
/// <summary> /// Removes the selected regular expression. /// </summary> public void RemoveRegExCmd() { try { /* Index needed to restore the selected RegEx position. */ int index = PasswordRegExs.IndexOf(SelectedRegEx); PasswordRegExs.Remove(SelectedRegEx); /* Restore the selected RegEx position. */ if (PasswordRegExs.Count > 0 && index < PasswordRegExs.Count) { SelectedRegEx = PasswordRegExs[index]; } else if (PasswordRegExs.Count > 0 && index == PasswordRegExs.Count) { SelectedRegEx = PasswordRegExs[index - 1]; } } catch (Exception ex) { BusyStateManager.SetMessage(SeverityType.Error, ex.Message); BusyStateManager.ClearBusy(); } }