// Copyright (c) 2017 schick Informatik // Description: Liste der Validierungsregeln // using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using bsmd.database; using ENI2.EditControls; namespace ENI2.Controls { /// /// Interaction logic for RuleControl.xaml /// public partial class RuleControl : UserControl { public RuleControl() { InitializeComponent(); Loaded += RuleControl_Loaded; } public List ValidationRules { get; set; } public ReportingParty UserEntity { get; set; } private void RuleControl_Loaded(object sender, RoutedEventArgs e) { this.dataGridValidationRules.Initialize(); this.dataGridValidationRules.ItemsSource = this.ValidationRules; this.dataGridValidationRules.CreateRequested += DataGridValidationRules_CreateRequested; this.dataGridValidationRules.AddingNewItem += DataGridValidationRules_AddingNewItem; this.dataGridValidationRules.EditRequested += DataGridValidationRules_EditRequested; this.dataGridValidationRules.DeleteRequested += DataGridValidationRules_DeleteRequested; } private void DataGridValidationRules_DeleteRequested(bsmd.database.DatabaseEntity obj) { if (obj is bsmd.database.ValidationRule vr) { DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(vr); this.ValidationRules.Remove(vr); this.dataGridValidationRules.Items.Refresh(); } } private void DataGridValidationRules_EditRequested(bsmd.database.DatabaseEntity obj) { if (obj is bsmd.database.ValidationRule vr) { EditRulesDialog eld = new EditRulesDialog(); eld.ValidationRule = vr; if (eld.ShowDialog() ?? false) { if (!vr.IsNew) { vr.Changed = DateTime.Now; vr.ChangedBy = this.UserEntity.Logon; } DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(vr); this.dataGridValidationRules.Items.Refresh(); } } } private void DataGridValidationRules_AddingNewItem(object sender, AddingNewItemEventArgs e) { this.DataGridValidationRules_CreateRequested(); } private void DataGridValidationRules_CreateRequested() { bsmd.database.ValidationRule vr = new bsmd.database.ValidationRule(); vr.Created = DateTime.Now; vr.CreatedBy = this.UserEntity.Logon; EditRulesDialog erd = new EditRulesDialog(); erd.ValidationRule = vr; if (erd.ShowDialog() ?? false) { DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(vr); this.ValidationRules.Add(vr); this.dataGridValidationRules.Items.Refresh(); } } } }