using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Schichtplaner
{
public partial class Page_Base_Mitarbeiter : Page
{
#region Formular
private dbConnectionString db;
public Page_Base_Mitarbeiter()
{
//----< create >----
InitializeComponent();
db = new dbConnectionString();
if (db.Database.Connection.State == System.Data.ConnectionState.Closed || db.Database.Connection.State == System.Data.ConnectionState.Broken)
db.Database.Connection.Open();
load_DataGrid();
//load_Dataset_byID(1);
//----</ create >----
}
#endregion /Formular
#region Buttons
//-------------------------< region: Buttons >-------------------
private void BtnLoeschen_Click(object sender, RoutedEventArgs e)
{
if (tbxID.Text != "")
{
del_Data();
}
else
{
MessageBox.Show("Bitte zuerst einen Datensatz auswählen!");
}
}
private void BtnNeu_Click(object sender, RoutedEventArgs e)
{
Reset_Entry_Fields();
tbxVorname.Focus();
}
private void BtnSpeichern_Click(object sender, RoutedEventArgs e)
{
if (tbxID.Text == "")
{ add_Data(); }
else
{
save_Data();
}
load_DataGrid();
}
//-------------------------</ region: Buttons >-------------------
#endregion /Buttons
#region Controls
//-------------------------< region: Controls >-------------------
private void ctlDataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
tblBase_Mitarbeiter freiertag = (tblBase_Mitarbeiter)ctlDataGrid.SelectedItem;
load_Dataset_byID(freiertag.IDMitarbeiter);
}
private void CtlDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ctlDataGrid.SelectedItem != null)
{
tblBase_Mitarbeiter freiertag = (tblBase_Mitarbeiter)ctlDataGrid.SelectedItem;
load_Dataset_byID(freiertag.IDMitarbeiter);
}
}
//-------------------------</ region: Controls >-------------------
#endregion /Controls
#region Methoden
//-------------------------< region: Methoden >-------------------
private void Auto_Speichern_event(object sender, TextChangedEventArgs e)
{
Auto_Speichern();
}
public void Auto_Speichern()
{
save_Data();
//#todo: aktuelle Zeile item refresh
}
//-------------------------</ region: Methoden >-------------------
#endregion /Methoden
#region Datenbank
//---------------------< region: Datenbank >-------------------------------
public async void load_Dataset_byID(int ID)
{
//----------------< load_Dataset_byID() >----------------
try
{
var data = db.tblBase_Mitarbeiter.FirstOrDefault(id => id.IDMitarbeiter == ID);
if (data != null)
{
//--< felder fuellen >--
tbxID.Text = data.IDMitarbeiter.ToString();
tbxVorname.Text = data.Vorname.ToString() ;
tbxNachname.Text = data.Nachname.ToString();
tbxPersonalNr.Text = data.Personalnummer;
//--</ felder fuellen >--
}
await db.SaveChangesAsync();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
}
//----------------</ load_Dataset_byID() >----------------
}
public void save_Data()
//------------< save_Data() >------------
{
string sID = tbxID.Text;
//< check >
if (sID == "") return;
//</ check >
int ID = Convert.ToInt32(sID);
tblBase_Mitarbeiter data;
data = db.tblBase_Mitarbeiter.SingleOrDefault(n => n.IDMitarbeiter == ID);
if (data != null)
{
data.dtCreated = DateTime.Now;
data.Vorname = tbxVorname.Text;
data.Nachname = tbxNachname.Text;
data.Personalnummer = tbxPersonalNr.Text;
//< save >
db.SaveChanges(); //ID: -99999->16
load_DataGrid();
//</ save >
}
//------------</ save_Data() >------------
}
public void add_Data()
//------------< add_Data() >------------
{
tblBase_Mitarbeiter data = new tblBase_Mitarbeiter();
data.dtCreated = DateTime.Now;
data.Vorname = tbxVorname.Text;
data.Nachname = tbxNachname.Text;
data.Personalnummer= tbxPersonalNr.Text ;
//< save >
db.tblBase_Mitarbeiter.Add(data); //ID: 0->-99999
db.SaveChanges(); //ID: -99999->16
load_DataGrid();
//</ save >
//< new ID >
int ID = data.IDMitarbeiter;
//</ new ID >
tbxID.Text = ID.ToString();
//------------</ save_Data() >------------
}
public void del_Data()
{
int id = Convert.ToInt32(tbxID.Text);
tblBase_Mitarbeiter data;
data = db.tblBase_Mitarbeiter.SingleOrDefault(x => x.IDMitarbeiter == id);
db.tblBase_Mitarbeiter.Remove(data);
db.SaveChanges();
load_DataGrid();
Reset_Entry_Fields();
}
private void Reset_Entry_Fields()
{
tbxID.Text = "";
tbxVorname.Text = "";
tbxNachname.Text = "";
tbxPersonalNr.Text = "";
}
//---------------------</ region: Datenbank >-------------------------------
#endregion /Datenbank
#region Grid
//---------------------< region: Grid >-------------------------------
private void load_DataGrid()
{
//----------------< load_DataGrid() >----------------
ctlDataGrid.Items.Clear();
try
{
//----< Daten laden >----
//< get_Data >
var data = (from tbl in db.tblBase_Mitarbeiter
orderby tbl.Nachname ascending
select tbl).Take(1000);
//</ get_Data >
//--< @Loop: Rows >--
foreach (var row in data)
{
ctlDataGrid.Items.Add(row);
}
//--</ @Loop: Rows >--
//----</ Daten laden >----
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
//----------------</ load_DataGrid() >----------------
}
//---------------------</ region: Grid >-------------------------------
#endregion /Grid
}
}
|