private void Window_Loaded(object sender, RoutedEventArgs e) { var vsBediener = (CollectionViewSource)(this.FindResource("vsBediener")); vsBediener.GroupDescriptions.Add(new PropertyGroupDescription("eStandort.Bezeichnung")); vsBediener.Source = _Auswertung.ListeBediener.Daten; _Auswertung.ListeFeiertageJahr.ViewSource = (CollectionViewSource)(this.FindResource("vsFeiertage")); _Auswertung.ListeSollstundenJahr.ViewSource = (CollectionViewSource)(this.FindResource("vsSollStunden")); _Auswertung.ListePausen.ViewSource = (CollectionViewSource)(this.FindResource("vsPausen")); _ListeRundenBeginn = new JgEntityList <tabArbeitszeitRunden>(_Auswertung.Db) { ViewSource = (CollectionViewSource)FindResource("vsRundenAzBeginn"), Daten = _Auswertung.AzRunden.ListeRunden.Where(w => w.Zeitpunkt == EnumZeitpunkt.Anmeldung).OrderBy(o => o.Monat).ThenBy(o => o.ZeitVon).ToList() }; _ListeRundenBeginn.ViewSource.GroupDescriptions.Add(new PropertyGroupDescription("eStandort.Bezeichnung")); _ListeRundenEnde = new JgEntityList <tabArbeitszeitRunden>(_Auswertung.Db) { ViewSource = (CollectionViewSource)FindResource("vsRundenAzEnde"), Daten = _Auswertung.AzRunden.ListeRunden.Where(w => w.Zeitpunkt == EnumZeitpunkt.Abmeldung).OrderBy(o => o.Monat).ThenBy(o => o.ZeitVon).ToList() }; _ListeRundenEnde.ViewSource.GroupDescriptions.Add(new PropertyGroupDescription("eStandort.Bezeichnung")); }
public FormOptionen(AnmeldungAuswertung Auswertung) { InitializeComponent(); _Auswertung = Auswertung; tbJahr.Text = Auswertung.Jahr.ToString(); // Sollstunden für jedes Jahr überprüfen for (byte i = 1; i <= 12; i++) { if (_Auswertung.ListeSollstundenJahr.Daten.FirstOrDefault(f => f.Monat == i) == null) { var neuSoll = new tabSollStunden() { Id = Guid.NewGuid(), Jahr = Auswertung.Jahr, Monat = i, }; _Auswertung.Db.tabSollStundenSet.Add(neuSoll); _Auswertung.ListeSollstundenJahr.Add(neuSoll); } ; } // Kontrolle, ob alle Bediener die Auswertung für Monat 0 besitzen, da hier die Vorjahresdaten eingetragen werden. var idisBediener = Auswertung.ListeBediener.Daten.Select(s => s.Id).ToArray(); var auswertungenVorjahr = Auswertung.Db.tabArbeitszeitAuswertungSet.Where(w => (idisBediener.Contains(w.fBediener)) && (w.Jahr == Auswertung.Jahr) && (w.Monat == 0)).ToList(); foreach (var bediener in _Auswertung.ListeBediener.Daten) { var auswVorjahr = auswertungenVorjahr.FirstOrDefault(f => f.fBediener == bediener.Id); if (auswVorjahr == null) { auswVorjahr = new tabArbeitszeitAuswertung() { Id = Guid.NewGuid(), Jahr = Auswertung.Jahr, Monat = 0, Ueberstunden = "00:00", Urlaub = 0, eBediener = bediener, Status = EnumStatusArbeitszeitAuswertung.Erledigt, }; Auswertung.Db.tabArbeitszeitAuswertungSet.Add(auswVorjahr); } bediener.EArbeitszeitHelper = auswVorjahr; } _ListeTerminals = new JgEntityList <tabArbeitszeitTerminal>(_Auswertung.Db) { ViewSource = (CollectionViewSource)FindResource("vsTerminals"), Tabellen = new DataGrid[] { gridTerminals }, Daten = _Auswertung.Db.tabArbeitszeitTerminalSet.ToList() }; }
private void Window_Loaded(object sender, RoutedEventArgs e) { _Db = new JgModelContainer(); if (Properties.Settings.Default.DatenbankVerbindungsString != "") { _Db.Database.Connection.ConnectionString = Properties.Settings.Default.DatenbankVerbindungsString; } tbDatenbankverbinudng.Text = _Db.Database.Connection.ConnectionString; _ListeStandorte = new JgEntityList <tabStandort>(_Db) { ViewSource = (CollectionViewSource)this.FindResource("vsStandort"), Tabellen = new DataGrid[] { dgStandort }, OnDatenLaden = (d, p) => { return(d.tabStandortSet.Where(w => !w.DatenAbgleich.Geloescht).ToList()); } }; _ListeStandorte.DatenLaden(); _ListeStandorte.Daten = _ListeStandorte.Daten.OrderBy(o => o.Bezeichnung).ToList(); _ListeMaschinen = new JgEntityList <tabMaschine>(_Db) { ViewSource = (CollectionViewSource)this.FindResource("vsMaschinen"), Tabellen = new DataGrid[] { dgMaschine }, OnDatenLaden = (d, p) => { return(d.tabMaschineSet.Where(w => !w.DatenAbgleich.Geloescht).Include(i => i.eProtokoll).ToList()); } }; _ListeMaschinen.DatenLaden(); _ListeMaschinen.Daten = _ListeMaschinen.Daten.OrderBy(o => o.MaschinenName).ToList(); _ListeBediener = new JgEntityList <tabBediener>(_Db) { ViewSource = (CollectionViewSource)this.FindResource("vsBediener"), Tabellen = new DataGrid[] { dgBediener }, OnDatenLaden = (d, p) => { return(d.tabBedienerSet.Where(w => !w.DatenAbgleich.Geloescht).ToList()); } }; _ListeBediener.DatenLaden(); _ListeBediener.Daten = _ListeBediener.Daten.OrderBy(o => o.NachName).ToList(); cbStatusBediener.ItemsSource = Enum.GetValues(typeof(JgMaschineData.EnumStatusBediener)); InitCommands(); tbNetversion.Text = Helper.GetNetversion(); }
private void RibbonWindow_Loaded(object sender, RoutedEventArgs e) { _Db = new JgModelContainer(); if (Properties.Settings.Default.DatenbankVerbindungsString != "") { _Db.Database.Connection.ConnectionString = Properties.Settings.Default.DatenbankVerbindungsString; } _Auswertungen = new JgEntityList <tabAuswertung>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsAuswertung"), Tabellen = new DataGrid[] { dgAuswertung }, OnDatenLaden = (d, p) => { return(d.tabAuswertungSet.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Allgemein).ToList()); } }; _Auswertungen.DatenLaden(); _Auswertungen.Daten = _Auswertungen.Daten.OrderBy(o => o.ReportName).ToList(); _Report = new FastReport.Report(); _Report.FileName = "Datenbank"; _ReportSettings.CustomSaveReport += (obj, repEvent) => { MemoryStream memStr = new MemoryStream(); try { var ausw = _Auswertungen.Current; repEvent.Report.Save(memStr); ausw.Report = memStr.ToArray(); ausw.GeaendertDatum = DateTime.Now; ausw.GeaendertName = Helper.Benutzer; _Auswertungen.DsSave(ausw); } catch (Exception f) { System.Windows.MessageBox.Show("Fehler beim speichern des Reports !\r\nGrund: " + f.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } finally { memStr.Dispose(); } }; InitCommands(); }
private void InitListen() { var von = DateTime.Now.Date; var bis = von.AddDays(1).AddSeconds(-1); _ListeBediener = new JgEntityList <tabBediener>(_Db) { OnDatenLaden = (d, p) => { var idStandort = (Guid)p.Params["idStandort"]; return(d.tabBedienerSet.Where(w => (w.Status != EnumStatusBediener.Stillgelegt)).ToList()); } }; _ListeBediener.Parameter["idStandort"] = _Standort.Id; _ListeBediener.DatenLaden(); _ListeMaschinen = new JgEntityList <tabMaschine>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsMaschine"), OnDatenLaden = (d, p) => { var idStandort = (Guid)p.Params["idStandort"]; return(d.tabMaschineSet.Where(w => (w.fStandort == idStandort) && (!w.DatenAbgleich.Geloescht) && (w.Status != EnumStatusMaschine.Stillgelegt)) .OrderBy(o => o.MaschinenName).ToList()); } }; _ListeMaschinen.Parameter["idStandort"] = _Standort.Id; _ListeMaschinen.DatenLaden(); // Aktuelle Anmeldungen an Maschine ***************************************************** _ListeAnmeldungen = new JgEntityList <tabAnmeldungMaschine>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsAnmeldungAktuell"), Tabellen = new DataGrid[] { dgAnmeldungAktuell }, OnDatenLaden = (d, p) => { var idStandort = (Guid)p.Params["IdStandort"]; var dat = (from benutzer in d.tabBedienerSet join anmeldung in d.tabAnmeldungMaschineSet on benutzer.fAktivAnmeldung equals anmeldung.Id where (anmeldung.eMaschine.fStandort == idStandort) select anmeldung); if (!p.IstSortiert) { dat = dat.OrderBy(o => o.Anmeldung); } return(dat.ToList()); } }; _ListeAnmeldungen.Parameter["IdStandort"] = _Standort.Id; _ListeAnmeldungen.DatenLaden(); foreach (var ma in _ListeMaschinen.Daten) { ma.AktiveAnmeldungen = _ListeAnmeldungen.Daten.Where(w => w.eMaschine == ma).ToList(); } // Auswahl Anmeldungenan an Maschinen ******************************************************** _DzAnmeldungVon.AnzeigeDatumZeit = von; _DzAnmeldungBis.AnzeigeDatumZeit = bis; _ListeAnmeldungAuswahl = new JgEntityList <tabAnmeldungMaschine>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsAnmeldungAuswahl"), Tabellen = new DataGrid[] { dgAnmeldungAuswahl }, OnDatenLaden = (d, p) => { var idisMaschinen = (Guid[])p.Params["IdisMaschinen"]; var datVon = (DateTime)p.Params["DatumVon"]; var datBis = (DateTime)p.Params["DatumBis"]; var dat = d.tabAnmeldungMaschineSet.Where(w => idisMaschinen.Contains(w.fMaschine) && (w.Anmeldung >= datVon) && ((w.Anmeldung <= datBis))); if (!p.IstSortiert) { dat = dat.OrderBy(o => o.Anmeldung); } return(dat.ToList()); } }; // Auswahl Bauteile initialisieren **************************** _DzBauteilVon.AnzeigeDatumZeit = von; _DzBauteilBis.AnzeigeDatumZeit = bis; _ListeBauteilAuswahl = new JgEntityList <tabBauteil>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsBauteilAuswahl"), Tabellen = new DataGrid[] { dgBauteilAuswahl }, OnDatenLaden = (d, p) => { var idMaschine = (Guid)p.Params["IdMaschine"]; var datVon = (DateTime)p.Params["DatumVon"]; var datBis = (DateTime)p.Params["DatumBis"]; var dat = d.tabBauteilSet.Where(w => (w.fMaschine == idMaschine) && (w.DatumStart >= datVon) && (w.DatumStart <= datBis)) .Include(i => i.sBediener); if (!p.IstSortiert) { dat = dat.OrderBy(o => o.DatumStart); } return(dat.ToList()); } }; // Aktuelle Reparaturen initialisieren ******************************************************** _ListeReparaturen = new JgEntityList <tabReparatur>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsReparaturAktuell"), Tabellen = new DataGrid[] { dgReparaturAktuell }, OnDatenLaden = (d, p) => { var lMaschinen = (IEnumerable <tabMaschine>)p.Params["ListeMaschinen"]; var idisReparaturen = lMaschinen.Where(w => w.eAktivReparatur != null).Select(s => (Guid)s.fAktivReparatur).ToArray(); var dat = d.tabReparaturSet.Where(w => idisReparaturen.Contains(w.Id)) .Include(i => i.sAnmeldungen).Include(i => i.sAnmeldungen.Select(s => s.eBediener)); if (!p.IstSortiert) { dat = dat.OrderBy(o => o.VorgangBeginn); } if (!p.IstDatenLaden) // Nur bei Aktualisierung starten { HelperReparaturAnmeldungen(d, dat); } return(dat.ToList()); } }; _ListeReparaturen.Parameter["ListeMaschinen"] = _ListeMaschinen.Daten; _ListeReparaturen.DatenLaden(); // Auswahl Reparaturen initialisieren ******************************************************** _DzReparaturVon.AnzeigeDatumZeit = von; _DzReparaturBis.AnzeigeDatumZeit = bis; _ListeReparaturAuswahl = new JgEntityList <tabReparatur>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsReparaturAuswahl"), Tabellen = new DataGrid[] { dgReparaturAuswahl }, OnDatenLaden = (d, p) => { var idisMaschinen = (Guid[])p.Params["IdisMaschinen"]; var datVon = (DateTime)p.Params["DatumVon"]; var datBis = (DateTime)p.Params["DatumBis"]; var dat = d.tabReparaturSet.Where(w => idisMaschinen.Contains(w.fMaschine) && (w.VorgangBeginn >= datVon) && (w.VorgangBeginn <= datBis)) .Include(i => i.sAnmeldungen).Include(i => i.sAnmeldungen.Select(s => s.eBediener)).OrderBy(o => o.VorgangBeginn).ToList(); if (!p.IstDatenLaden) // Nur bei Aktualisierung starten { HelperReparaturAnmeldungen(d, dat); } return(dat.ToList()); } }; // Reporte für Auswertungen initialisieren ******************************** var filterAuswertungen = new EnumFilterAuswertung[] { EnumFilterAuswertung.Anmeldung, EnumFilterAuswertung.Bauteil, EnumFilterAuswertung.Reparatur }; var reporte = _Db.tabAuswertungSet.Where(w => filterAuswertungen.Contains(w.FilterAuswertung) && (!w.DatenAbgleich.Geloescht)).ToList(); _ListeReporteAnmeldung = new JgEntityList <tabAuswertung>(_Db) { ViewSource = (CollectionViewSource)this.FindResource("vsReporteAnmeldung"), Daten = reporte.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Anmeldung).OrderBy(o => o.AnzeigeReportname).ToList() }; _ListeReporteBauteil = new JgEntityList <tabAuswertung>(_Db) { ViewSource = (CollectionViewSource)this.FindResource("vsReporteBauteil"), Daten = reporte.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Bauteil).OrderBy(o => o.AnzeigeReportname).ToList() }; _ListeReporteReparatur = new JgEntityList <tabAuswertung>(_Db) { ViewSource = (CollectionViewSource)this.FindResource("vsReporteReparatur"), Daten = reporte.Where(w => w.FilterAuswertung == EnumFilterAuswertung.Reparatur).OrderBy(o => o.AnzeigeReportname).ToList() }; }
private void Window_Loaded(object sender, RoutedEventArgs e) { var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; this.Title += " - V " + version.ToString(); _Db = new JgModelContainer(); if (Properties.Settings.Default.DatenbankVerbindungsString != "") { _Db.Database.Connection.ConnectionString = Properties.Settings.Default.DatenbankVerbindungsString; } var heute = DateTime.Now.Date; _AzRunden = new ArbeitszeitRunden(_Db, heute.Year); _DzArbeitszeitVon.AnzeigeDatumZeit = heute; _DzArbeitszeitBis.AnzeigeDatumZeit = new DateTime(heute.Year, heute.Month, heute.Day, 23, 59, 59); _ListeArbeitszeitenAuswahl = new JgEntityList <tabArbeitszeit>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsArbeitszeitAuswahl"), Tabellen = new DataGrid[] { dgArbeitszeitAuswahl }, OnDatenLaden = (d, p) => { var datVom = (DateTime)p.Params["DatumVon"]; var datBis = (DateTime)p.Params["DatumBis"]; var azRunden = (ArbeitszeitRunden)p.Params["AzRunden"]; var lZeiten = d.tabArbeitszeitSet.Where(w => (((w.Anmeldung >= datVom) && (w.Anmeldung <= datBis)) || ((w.Anmeldung == null) && (w.Abmeldung >= datVom) && (w.Abmeldung <= datBis)))); if (!p.IstSortiert) { lZeiten = lZeiten.OrderBy(o => o.Anmeldung); } foreach (var zeit in lZeiten.ToList()) { zeit.AnmeldungGerundet = azRunden.GetZeitGerundet(EnumZeitpunkt.Anmeldung, zeit.fStandort, zeit.Anmeldung); zeit.AbmeldungGerundet = azRunden.GetZeitGerundet(EnumZeitpunkt.Abmeldung, zeit.fStandort, zeit.Abmeldung); } return(lZeiten); } }; _ListeArbeitszeitenAuswahl.Parameter["AzRunden"] = _AzRunden; _ListeArbeitszeitenAuswahl.Parameter["DatumVon"] = _DzArbeitszeitVon.AnzeigeDatumZeit; _ListeArbeitszeitenAuswahl.Parameter["DatumBis"] = _DzArbeitszeitBis.AnzeigeDatumZeit; _ListeArbeitszeitenAuswahl.DatenLaden(); // Report initialisieren ******************************** _ListeReporteArbeitszeiten = new JgEntityList <tabAuswertung>(_Db) { ViewSource = (CollectionViewSource)FindResource("vsReporteArbeitszeit"), OnDatenLaden = (d, p) => { return(_Db.tabAuswertungSet.Where(w => (w.FilterAuswertung == EnumFilterAuswertung.Arbeitszeit) && (!w.DatenAbgleich.Geloescht)) .OrderBy(o => o.ReportName).ToList()); } }; _ListeReporteArbeitszeiten.DatenLaden(); _ListeReporteAuswertung = new JgEntityList <tabAuswertung>(_ListeReporteArbeitszeiten.Db) { ViewSource = (CollectionViewSource)FindResource("vsReporteAuswertung"), OnDatenLaden = (d, p) => { return(_Db.tabAuswertungSet.Where(w => (w.FilterAuswertung == EnumFilterAuswertung.ArbeitszeitAuswertung) && (!w.DatenAbgleich.Geloescht)) .OrderBy(o => o.ReportName).ToList()); } }; _ListeReporteAuswertung.DatenLaden(); // Klasse Auswertung intitialisieren _Erstellung = new AnmeldungAuswertung(_Db, cbJahr, cbMonat, (CollectionViewSource)FindResource("vsBediener"), _AzRunden, (ArbeitszeitBediener)FindResource("ArbeitszeitBediener"), (CollectionViewSource)FindResource("vsArbeitszeitTage")); // Report für Auswertung erstellen _Report = new FastReport.Report() { FileName = "Datenbank" }; _ReportSettings.CustomSaveReport += (obj, repEvent) => { MemoryStream memStr = new MemoryStream(); try { repEvent.Report.Save(memStr); _AktuellerReport.Report = memStr.ToArray(); _AktuellerReport.GeaendertDatum = DateTime.Now; _AktuellerReport.GeaendertName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _ListeReporteArbeitszeiten.DsSave(_AktuellerReport); if (_AktuellerReport.FilterAuswertung == EnumFilterAuswertung.ArbeitszeitAuswertung) { _ListeReporteAuswertung.Refresh(); } else { _ListeReporteArbeitszeiten.Refresh(); } } catch (Exception f) { MessageBox.Show("Fehler beim speichern des Reports !\r\nGrund: " + f.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } finally { memStr.Dispose(); } }; }