private void BtnDrucken_Click(object sender, RoutedEventArgs e) { var vorgang = Convert.ToInt32((sender as Button).Tag); // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen if (vorgang != 4) { switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _AktAuswertung = (tabAuswertung)_ListeReporteAnmeldung.Current; break; case EnumFilterAuswertung.Bauteil: _AktAuswertung = (tabAuswertung)_ListeReporteBauteil.Current; break; case EnumFilterAuswertung.Reparatur: _AktAuswertung = (tabAuswertung)_ListeReporteReparatur.Current; break; } if (_AktAuswertung == null) { MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information); return; } switch (vorgang) { case 5: // Exportieren SaveFileDialog dia = new SaveFileDialog() { Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*", FilterIndex = 1 }; if (dia.ShowDialog() ?? false) { _Report.Save(dia.FileName); MemoryStream mem; mem = new MemoryStream(_AktAuswertung.Report); using (Stream f = File.Create(dia.FileName)) { mem.CopyTo(f); } } return; case 6: // Report löschen var mb = MessageBox.Show($"Report {_AktAuswertung.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None); if (mb == MessageBoxResult.Yes) { switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Delete(_AktAuswertung); break; case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Delete(_AktAuswertung); break; case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Delete(_AktAuswertung); break; } } return; } _Report.Clear(); if (_AktAuswertung.Report == null) { vorgang = 3; } else { var mem = new MemoryStream(_AktAuswertung.Report); _Report.Load(mem); } } switch (_Auswahl) { case JgMaschineData.EnumFilterAuswertung.Anmeldung: if (tcAnmeldung.SelectedIndex == 0) { _Report.RegisterData(_ListeAnmeldungen.Daten, "Daten"); } else { _Report.RegisterData(_ListeAnmeldungAuswahl.Daten, "Daten"); _Report.SetParameterValue("DatumVon", _DzAnmeldungVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzAnmeldungBis.AnzeigeDatumZeit); } _Report.SetParameterValue("IstAktuell", tcAnmeldung.SelectedIndex == 0); break; case EnumFilterAuswertung.Bauteil: if (_Maschine == null) { MessageBox.Show("Wählen Sie eine Maschine aus."); return; } _Report.RegisterData(_ListeBauteilAuswahl.Daten, "Daten"); _Report.SetParameterValue("MaschinenName", _Maschine.MaschinenName); _Report.SetParameterValue("DatumVon", _DzBauteilVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzBauteilBis.AnzeigeDatumZeit); break; case EnumFilterAuswertung.Reparatur: if (tcReparatur.SelectedIndex == 0) { _Report.RegisterData(_ListeReparaturen.Daten, "Daten"); } else { _Report.RegisterData(_ListeReparaturAuswahl.Daten, "Daten"); _Report.SetParameterValue("DatumVon", _DzReparaturVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzReparaturBis.AnzeigeDatumZeit); } _Report.SetParameterValue("IstAktuell", tcReparatur.SelectedIndex == 0); break; default: break; } if (vorgang == 4) // Neuer Report { var repName = ""; var formNeu = new Fenster.FormNeuerReport(); if (!formNeu.ShowDialog() ?? false) { return; } repName = formNeu.ReportName; string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _AktAuswertung = new tabAuswertung() { Id = Guid.NewGuid(), FilterAuswertung = _Auswahl, ReportName = repName, ErstelltDatum = DateTime.Now, ErstelltName = username, GeaendertDatum = DateTime.Now, GeaendertName = username }; switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Add(_AktAuswertung); break; case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Add(_AktAuswertung); break; case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Add(_AktAuswertung); break; } _Report.Design(); } else { switch (vorgang) { case 1: _Report.Show(); break; case 2: _Report.Print(); break; case 3: _Report.Design(); break; } } }