public DatabaseCellViewModel(int columnIndex, DatabaseColumnJson columnDefinition, DatabaseEntityViewModel parent, DatabaseEntity parentEntity, IDatabaseField tableField, IParameterValue parameterValue) { ColumnIndex = columnIndex * 2; CanBeNull = columnDefinition.CanBeNull; IsReadOnly = columnDefinition.IsReadOnly; ColumnName = columnDefinition.Name; ParentEntity = parentEntity; Parent = parent; TableField = tableField; ParameterValue = parameterValue; if (UseItemPicker) { AutoDispose(ParameterValue.ToObservable().Subscribe(_ => RaisePropertyChanged(nameof(OptionValue)))); } if (UseFlagsPicker) { AutoDispose(ParameterValue.ToObservable().Subscribe(_ => RaisePropertyChanged(nameof(AsLongValue)))); } AutoDispose(parameterValue.ToObservable().SubscribeAction(_ => { OriginalValueTooltip = tableField.IsModified ? "Original value: " + parameterValue.OriginalString : null; RaisePropertyChanged(nameof(OriginalValueTooltip)); RaisePropertyChanged(nameof(AsBoolValue)); })); }
public DatabaseCellViewModel(int columnIndex, string columnName, ICommand action, DatabaseEntityViewModel parent, DatabaseEntity entity, System.IObservable <string> label) : base(entity) { Parent = parent; ColumnIndex = columnIndex * 2; CanBeNull = false; IsReadOnly = false; ColumnName = columnName; OriginalValueTooltip = null; ActionCommand = action; AutoDispose(label.SubscribeAction(s => { ActionLabel = s; RaisePropertyChanged(nameof(ActionLabel)); })); }
public DatabaseCellViewModel(int columnIndex, DatabaseColumnJson columnDefinition, DatabaseEntityViewModel parent, DatabaseEntity parentEntity, IDatabaseField tableField, IParameterValue parameterValue) : base(parentEntity) { ColumnIndex = columnIndex * 2; CanBeNull = columnDefinition.CanBeNull; IsReadOnly = columnDefinition.IsReadOnly; ColumnName = columnDefinition.Name; DbColumnName = columnDefinition.DbColumnName; Parent = parent; TableField = tableField; ParameterValue = parameterValue; if (UseItemPicker) { AutoDispose(ParameterValue.ToObservable().Subscribe(_ => RaisePropertyChanged(nameof(OptionValue)))); } if (UseFlagsPicker) { AutoDispose(ParameterValue.ToObservable().Subscribe(_ => RaisePropertyChanged(nameof(AsLongValue)))); } AutoDispose(parameterValue.ToObservable().SubscribeAction(_ => { OriginalValueTooltip = tableField.IsModified ? "Original value: " + parameterValue.OriginalString : null; RaisePropertyChanged(nameof(OriginalValueTooltip)); RaisePropertyChanged(nameof(AsBoolValue)); })); if (parameterValue.BaseParameter is DatabaseStringContextualParameter contextual) { var other = parent.Cells.FirstOrDefault(c => c.DbColumnName == contextual.Column); if (other != null) { AutoDispose(other.ParameterValue !.ToObservable().Subscribe(_ => { parameterValue.RaiseChanged(); })); } else { Console.WriteLine("Couldn't find column " + contextual.Column); } } }