private void SelectExecute(object obj) { ChangeSource = ChangeSourceEnum.FromComponent; SelectedItem = obj; SelectedIndex = GetIndex(obj); SelectedId = idColumnPropInfo?.GetValue(obj) as int?; ChangeSource = ChangeSourceEnum.None; lookupWindow?.Close(); }
private void SelectExecute(object obj) { var resultTypePropInfo = obj?.GetType().GetProperties().FirstOrDefault(x => ResultType.IsAssignableFrom(x.PropertyType)); if (resultTypePropInfo != null) { if (!string.IsNullOrEmpty(IdColumn) && idColumnPropInfo == null) { idColumnPropInfo = resultTypePropInfo.PropertyType?.GetProperty(IdColumn); } var resultTypeValue = resultTypePropInfo.GetValue(obj); ChangeSource = ChangeSourceEnum.FromComponent; SelectedItem = resultTypeValue; SelectedId = idColumnPropInfo.GetValue(resultTypeValue) as int?; ChangeSource = ChangeSourceEnum.None; } treeLookupWindow?.Close(); }