using System;
using System.Data; //*DataTable
using System.Linq; //*Daten anbinden
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
namespace Schichtplaner
{
public partial class form_Base_Feiertage : Window
{
#region Formular
private App_dbContext db;
public form_Base_Feiertage()
{
//----< create >----
InitializeComponent();
db = new App_dbContext();
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)
{
}
private void BtnNeu_Click(object sender, RoutedEventArgs e)
{
Reset_Entry_Fields();
}
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_Feiertage freiertag = (tblBase_Feiertage) ctlDataGrid.SelectedItem;
load_Dataset_byID(freiertag.IDFeiertag);
}
private void CtlDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if(ctlDataGrid.SelectedItem!=null)
{
tblBase_Feiertage freiertag = (tblBase_Feiertage)ctlDataGrid.SelectedItem;
load_Dataset_byID(freiertag.IDFeiertag);
}
}
//-------------------------</ region: Controls >-------------------
#endregion /Controls
#region Datenbank
//---------------------< region: Datenbank >-------------------------------
public async void load_Dataset_byID(int ID)
{
//----------------< load_Dataset_byID() >----------------
try
{
var data = db.tblBase_Feiertage.FirstOrDefault(id => id.IDFeiertag == ID);
if (data != null)
{
//--< felder fuellen >--
tbxID.Text = data.IDFeiertag.ToString();
tbxFeiertag.Text = data.Feiertag;
tbxDatum_Feiertag.Text = data.Datum_Feiertag.ToString();
tbxKuerzel.Text = data.Kuerzel;
//--</ 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_Feiertage data;
data = db.tblBase_Feiertage.SingleOrDefault(n => n.IDFeiertag == ID);
if (data != null)
{
data.dtCreated = DateTime.Now;
data.Feiertag = tbxFeiertag.Text;
data.Kuerzel = tbxKuerzel.Text;
data.Datum_Feiertag = Convert.ToDateTime( tbxDatum_Feiertag.Text);
//< save >
db.SaveChanges(); //ID: -99999->16
//</ save >
}
//------------</ save_Data() >------------
}
public void add_Data()
//------------< add_Data() >------------
{
tblBase_Feiertage data = new tblBase_Feiertage();
data.dtCreated = DateTime.Now;
data.Feiertag = tbxFeiertag.Text;
data.Kuerzel = tbxKuerzel.Text;
//< save >
db.tblBase_Feiertage.Add(data); //ID: 0->-99999
db.SaveChanges(); //ID: -99999->16
//</ save >
//< new ID >
int ID = data.IDFeiertag;
//</ new ID >
tbxID.Text = ID.ToString();
//------------</ save_Data() >------------
}
private void Reset_Entry_Fields()
{
tbxID.Text = "";
tbxKuerzel.Text = "";
tbxFeiertag.Text = "";
tbxDatum_Feiertag.Text = "";
}
//---------------------</ region: Datenbank >-------------------------------
#endregion /Datenbank
#region Grid
//---------------------< region: Grid >-------------------------------
private void load_DataGrid()
{
//----------------< load_DataGrid() >----------------
ctlDataGrid.Items.Clear();
ctlDataGrid.Columns.Clear();
//--< Columns >----
var column_ID = new DataGridTextColumn();
column_ID.Header = "ID";
column_ID.Binding = new Binding("IDFeiertag");
ctlDataGrid.Columns.Add(column_ID);
var column_Feiertag = new DataGridTextColumn();
column_Feiertag.Header = "Feiertag";
column_Feiertag.Binding = new Binding("Feiertag");
ctlDataGrid.Columns.Add(column_Feiertag);
var column_Datum_Feiertag = new DataGridTextColumn();
column_Datum_Feiertag.Header = "Datum_Feiertag";
column_Datum_Feiertag.Binding = new Binding("Datum_Feiertag");
ctlDataGrid.Columns.Add(column_Datum_Feiertag);
var col_Kuerzel = new DataGridTextColumn();
col_Kuerzel.Header = "Kürzel";
col_Kuerzel.Binding = new Binding("Kuerzel");
ctlDataGrid.Columns.Add(col_Kuerzel);
//--</ Columns >----
try
{
//----< Daten laden >----
//< get_Data >
var data = (from tbl in db.tblBase_Feiertage
orderby tbl.Feiertag 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
}
}
//public void new_Data()
////------------< save_Data() >------------
//{
// tblBase_Feiertage data;
// data = db.tblBase_Feiertage.SingleOrDefault();
// data = new tblBase_Feiertage();
// data.dtCreated = DateTime.Now;
// data.Feiertag = tbxFeiertag.Text;
// //< save >
// db.tblBase_Feiertage.Add(data); //ID: 0->-99999
// db.SaveChanges(); //ID: -99999->16
// //</ save >
// //< new ID >
// int ID = data.IDFeiertag;
// //</ new ID >
// tbxID.Text = ID.ToString();
// //------------</ save_Data() >------------
//}
// //--< Add() >--
// data = new tblBase_Feiertage();
// data. = "neu";
// data.dtCreated = DateTime.Now;
// db.tblBase_Feiertage.Add(data);
// //--</ Add() >--
//}
//else
//{
//--< Update() >--
//data.dtEdit = DateTime.Now;
//--</ Update() >--
//Delete---Vorlage
// //< get_database >
// NoteModel note = _dbContext.tbl_Notes.SingleOrDefault(n => n.IDNote == ID);
// if (note == null) { return NotFound(); }
// //</ get_database >
// //< Delete Note >
// _dbContext.tbl_Notes.Remove(note); //set Flag
// //</ Delete Note >
|