git_bsmd/ENI2/Controls/ValidationConditionControl.xaml.cs

49 lines
1.8 KiB
C#

// Copyright (c) 2017 schick Informatik
// Description: Plugin Control für eine Validierungsbedingung
//
using System.Windows;
using System.Windows.Controls;
using bsmd.database;
namespace ENI2.Controls
{
/// <summary>
/// Interaction logic for ValidationConditionControl.xaml
/// </summary>
public partial class ValidationConditionControl : UserControl
{
private ValidationCondition _validationCondition;
public ValidationConditionControl()
{
InitializeComponent();
Loaded += ValidationConditionControl_Loaded;
}
private void ValidationConditionControl_Loaded(object sender, RoutedEventArgs e)
{
this.comboBoxFieldName.ItemsSource = bsmd.database.ValidationRule.ValidationFields;
this.comboBoxOperator.ItemsSource = Util.EnumHelper.GetAllValuesAndDescription(typeof(ValidationCondition.ConditionOperatorEnum));
}
public ValidationCondition ValidationCondition
{
get { return this._validationCondition; }
set { this.gridContent.DataContext = value; this._validationCondition = value; }
}
private void comboBoxOperator_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ValidationCondition.ConditionOperatorEnum selectedVal = (ValidationCondition.ConditionOperatorEnum)this.comboBoxOperator.SelectedValue;
bool isUnary = false;
if ((selectedVal == ValidationCondition.ConditionOperatorEnum.NOT_NULL) ||
(selectedVal == ValidationCondition.ConditionOperatorEnum.NULL))
isUnary = true;
this.textBoxValue.IsEnabled = !isUnary;
if (isUnary) this.textBoxValue.Clear();
}
}
}