Example #1
0
        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;
        }
Example #2
0
        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);
                }
            }
        }