public ArbeitszeitBediener(JgModelContainer Db, ArbeitszeitRunden AzRunden) { Init(Db, AzRunden); }
public void Init(JgModelContainer Db, ArbeitszeitRunden AzRunden) { _Db = Db; _AzRunden = AzRunden; }
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(); } }; }