private ObservableCollection <ActionParameterValue> GetParameterValues() { IEnumerable <ActionParameterValue> result; if (!string.IsNullOrEmpty(_ruleViewModel.EventName)) { if (string.IsNullOrEmpty(Model.ParameterValues)) { result = Action.Parameters.Values.Where(x => !string.IsNullOrEmpty(x) && Regex.IsMatch(x, "\\[:([^\\]]+)\\]")) .Select(x => new ActionParameterValue(this, Regex.Match(x, "\\[:([^\\]]+)\\]").Groups[1].Value, "", _automationService.GetParameterNames(_ruleViewModel.EventName))); } else { result = Model.ParameterValues.Split('#').Select( x => new ActionParameterValue(this, x.Split(new[] { '=' }, 2)[0], x.Split(new[] { '=' }, 2)[1], _automationService.GetParameterNames(_ruleViewModel.EventName))); } } else { result = new List <ActionParameterValue>(); } return(new ObservableCollection <ActionParameterValue>(result)); }