// 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();
}
}
}
}