using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; 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 PEP_Tool { /// /// Interaktionslogik für KTOverview.xaml /// public partial class KTOverview : Window { public System.Data.DataTable Overview { get; private set; } = new System.Data.DataTable("Overview"); public static KTOverview KTO; public KTOverview() { KTO = this; InitializeComponent(); var abtFilterList = MainWindow.main.AbteilungsNamen.Select(p => p.Value.Item2).Distinct().ToList(); //abtFilterList.Insert(0, ""); abtFilterList.Sort(); cBFilterAbteilung.ItemsSource = abtFilterList; dGView.DataContext = Overview; SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s", Overview); System.Data.DataTable dt = SQL.ReadSQL($"SELECT Min(str_to_date(Datum, '%Y-%m-%d')), max(str_to_date(Datum, '%Y-%m-%d')) from pep_tool.schaltung").Result; dPDate.DisplayDateStart = Convert.ToDateTime(dt.Rows[0].ItemArray[0].ToString()); dPDate.DisplayDateEnd = Convert.ToDateTime(dt.Rows[0].ItemArray[1].ToString()); SortList(); } private async void cBFilterAbteilung_SelectionChanged(object sender, SelectionChangedEventArgs e) { System.Diagnostics.Debug.WriteLine(cBFilterAbteilung.SelectedItem); if (dPDate.SelectedDate == null && (cBFilterAbteilung.SelectedItem == "" || cBFilterAbteilung.SelectedItem == null)) await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s", Overview); else if(dPDate.SelectedDate == null) await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s WHERE Abteilung = '{cBFilterAbteilung.SelectedItem}'", Overview); else await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s WHERE Abteilung = '{cBFilterAbteilung.SelectedItem}' AND Datum = '{Convert.ToDateTime(dPDate.SelectedDate).ToString("yyyy-MM-dd")}'", Overview); SortList(); } private async void DPDate_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { if (dPDate.SelectedDate == null && (cBFilterAbteilung.SelectedItem == "" || cBFilterAbteilung.SelectedItem == null)) await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung s", Overview); else { if (cBFilterAbteilung.SelectedItem != "" && cBFilterAbteilung.SelectedItem != null) await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s WHERE Datum = '{Convert.ToDateTime(dPDate.SelectedDate).ToString("yyyy-MM-dd")}' AND Abteilung = '{cBFilterAbteilung.SelectedItem}'", Overview); else await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s WHERE Datum = '{Convert.ToDateTime(dPDate.SelectedDate).ToString("yyyy-MM-dd")}'", Overview); } SortList(); } private void BtnDatePlus_Click(object sender, RoutedEventArgs e) { if (dPDate.SelectedDate < dPDate.DisplayDateEnd) dPDate.SelectedDate = dPDate.SelectedDate + TimeSpan.FromDays(1); } private void BtnDateMinus_Click(object sender, RoutedEventArgs e) { if (dPDate.SelectedDate > dPDate.DisplayDateStart) dPDate.SelectedDate = dPDate.SelectedDate - TimeSpan.FromDays(1); } private void BtnDateAll_Click(object sender, RoutedEventArgs e) { dPDate.SelectedDate = null; } private void BtnToday_Click(object sender, RoutedEventArgs e) { dPDate.SelectedDate = DateTime.Now.Date; } private void BtnOK_Click(object sender, RoutedEventArgs e) { this.Close(); } public async void refreshDGView() { if (dPDate.SelectedDate == null && (cBFilterAbteilung.SelectedItem == "" || cBFilterAbteilung.SelectedItem == null)) await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s", Overview); else if (dPDate.SelectedDate == null) await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s WHERE Abteilung = '{cBFilterAbteilung.SelectedItem}'", Overview); else await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund,AddedOn FROM pep_tool.schaltung s WHERE Abteilung = '{cBFilterAbteilung.SelectedItem}' AND Datum = '{Convert.ToDateTime(dPDate.SelectedDate).ToString("yyyy-MM-dd")}'", Overview); lblLastRefresh.Text = DateTime.Now.ToString(); SortList(); } private void SortList() { dGView.Items.SortDescriptions.Clear(); dGView.Items.SortDescriptions.Add(new SortDescription("AddedOn", ListSortDirection.Descending)); dGView.Items.Refresh(); } } }