public FormReparatur(tabReparatur NeuReparatur, IEnumerable <tabBediener> Bediener, tabMaschine AktuelleMaschine = null) { InitializeComponent(); cmbVerursacher.ItemsSource = Bediener; cmbProtokollant.ItemsSource = Bediener; cmbVorgangs.ItemsSource = Enum.GetValues(typeof(EnumReperaturVorgang)); cmbVorgangs.SelectedIndex = 0; if (NeuReparatur == null) { NeuReparatur = new JgMaschineData.tabReparatur() { VorgangBeginn = DateTime.Now, eMaschine = AktuelleMaschine }; lbBisDatum.Visibility = Visibility.Collapsed; dtpRepBis.Visibility = Visibility.Collapsed; lbBisPunkt.Visibility = Visibility.Collapsed; tbBisZeit.Visibility = Visibility.Collapsed; } else { var dzBis = (JgZeit)this.FindResource("dzReparaturBis"); dzBis.AnzeigeDatumZeit = NeuReparatur.VorgangEnde ?? DateTime.Now; dzBis.OnNeuerWert = (datum, zeit) => Reparatur.AnzeigeVorgangEnde = datum + zeit; } var dzVon = (JgZeit)this.FindResource("dzReparaturVon"); dzVon.AnzeigeDatumZeit = NeuReparatur.VorgangBeginn; dzVon.OnNeuerWert = (datum, zeit) => NeuReparatur.AnzeigeVorgangBeginn = datum + zeit; gridReparatur.DataContext = NeuReparatur; }
private static void ProgrammeEintragen(ScannerOptionen Optionen, tabMaschine Maschine, ScannerText e) { string msg = ""; var reparatur = Maschine.eAktivReparatur; if (e.VorgangProgramm == VorgangProgram.REPA_ENDE) { if (reparatur == null) { e.FehlerAusgabe(" ", "Kein Vorgang", "angemeldet !"); } else { e.SendeText("Vorgang beendet", " ", $"> {reparatur.Vorgang.ToString().ToUpper()} <", " ", Maschine.MaschinenName); reparatur.VorgangEnde = DateTime.Now; Maschine.eAktivReparatur = null; foreach (var anmledungReparatur in reparatur.sAnmeldungen.Where(w => w.IstAktiv).ToList()) { anmledungReparatur.Abmeldung = reparatur.VorgangEnde; } msg = $"Reparatur {reparatur.Vorgang} an Maschine {Maschine.MaschinenName} beendet."; Logger.Write(msg, "Service", 1, 0, System.Diagnostics.TraceEventType.Information); }; } else // Anmeldung einer Reparatur { if (reparatur != null) { e.FehlerAusgabe(" ", $"> {reparatur.Vorgang.ToString().ToUpper()} <", "bereits angemeldet !"); } else { reparatur = new tabReparatur() { Id = Guid.NewGuid(), VorgangBeginn = DateTime.Now, fMaschine = Maschine.Id, }; switch (e.VorgangProgramm) { case VorgangProgram.REPASTART: reparatur.Vorgang = EnumReperaturVorgang.Reparatur; break; case VorgangProgram.WARTSTART: reparatur.Vorgang = EnumReperaturVorgang.Wartung; break; case VorgangProgram.COILSTART: reparatur.Vorgang = EnumReperaturVorgang.Coilwechsel; break; } var anzCoils = " "; if (e.VorgangProgramm == VorgangProgram.COILSTART) { reparatur.CoilwechselAnzahl = Convert.ToByte(e.ScannerKoerper); anzCoils = $"Anzahl {reparatur.CoilwechselAnzahl}"; } e.SendeText("Beginn Vorgang", " ", $"> {reparatur.Vorgang.ToString().ToUpper()} <", anzCoils, Maschine.MaschinenName); Maschine.eAktivReparatur = reparatur; foreach (var anmeldungen in Maschine.AktiveAnmeldungen) { var anmeldungReparatur = new tabAnmeldungReparatur() { Id = Guid.NewGuid(), Anmeldung = reparatur.VorgangBeginn, fBediener = anmeldungen.fBediener, fReparatur = reparatur.Id, }; Optionen.DbScann.tabAnmeldungReparaturSet.Add(anmeldungReparatur); } msg = $"Reparatur {reparatur.Vorgang} an Maschine {Maschine.MaschinenName} gestartet."; Logger.Write(msg, "Service", 1, 0, System.Diagnostics.TraceEventType.Information); } } }