//private void GeheZu(Guid? Id) //{ // if (Id == null) // return; // try // { // foreach (var dsMaschine in treeViewMaschinen.Items) // { // if ((dsMaschine as tabMaschine).Id == Id) // { // (treeViewMaschinen.ItemContainerGenerator.ContainerFromItem(dsMaschine) as TreeViewItem).IsSelected = true; // return; // } // var itemMaschine = (TreeViewItem)treeViewMaschinen.ItemContainerGenerator.ContainerFromItem(dsMaschine); // foreach (var dsAnmeldung in itemMaschine.Items) // { // if ((dsAnmeldung as tabAnmeldungMaschine).Id == Id) // { // (itemMaschine.ItemContainerGenerator.ContainerFromItem(dsAnmeldung) as TreeViewItem).IsSelected = true; // return; // } // } // } // } // catch { } //} #region Reparaturen ************************************************************ private void NeueReparaturErstellen_Click(object sender, RoutedEventArgs e) { if (_Maschine == null) { Helper.InfoBox("Bitte Maschine in linker Tabelle auswahlen !", Helper.ProtokollArt.Warnung); } else if (_Maschine.fAktivReparatur != null) { Helper.InfoBox($"Die Maschine {_Maschine.MaschinenName} ist bereits im Reparaturmodus.", Helper.ProtokollArt.Info); } else { var form = new Fenster.FormReparatur(null, _ListeBediener.Daten, _Maschine); if (_ListeReparaturen.ErgebnissFormular(form.ShowDialog(), true, form.Reparatur)) { _Maschine.eAktivReparatur = form.Reparatur; foreach (var anmeldungMaschine in _Maschine.AktiveAnmeldungen) { var anmledRep = new tabAnmeldungReparatur() { Id = Guid.NewGuid(), Anmeldung = form.Reparatur.VorgangBeginn, eReparatur = form.Reparatur, eBediener = anmeldungMaschine.eBediener }; _Db.tabAnmeldungReparaturSet.Add(anmledRep); } TreeViewMaschinenAktualisieren(); ((CollectionViewSource)FindResource("vsReparaturAktuellBediener")).View.Refresh(); _Db.SaveChanges(); } } }
public bool ErgebnissFormular(bool?ErgebnissShowDialog, bool istNeu, K Datensatz) { if (ErgebnissShowDialog ?? false) { if (istNeu) { Add(Datensatz); } else { _Db.SaveChanges(); } return(true); } else if (!istNeu) { MerkeZeile(); Reload(Datensatz); Refresh(); GeheZuZeile(); } return(false); }
private tabArbeitszeitAuswertung ArbeitszeitAuswertungErstellen(tabBediener Bediener, short Jahr, byte Monat, TimeSpan SollStundenMonat) { var az = new tabArbeitszeitAuswertung() { Id = Guid.NewGuid(), fBediener = Bediener.Id, Jahr = Jahr, Monat = Monat, Urlaub = 0, AuszahlungUeberstunden = "00:00", SollStunden = JgZeit.ZeitInString(SollStundenMonat), Status = EnumStatusArbeitszeitAuswertung.InArbeit, }; _Db.tabArbeitszeitAuswertungSet.Add(az); _Db.SaveChanges(); return(az); }
public static void DatenAusDatenbankLaden(OptionenArbeitszeit Optionen) { string msg; try { using (var Db = new JgModelContainer()) { if (Optionen.VerbindungsString != "") { Db.Database.Connection.ConnectionString = Optionen.VerbindungsString; } msg = $"Datenbank öffnen -> {Db.Database.Connection.ConnectionString}"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Information); Optionen.ListeTerminals = Db.tabArbeitszeitTerminalSet.Where(w => !w.DatenAbgleich.Geloescht).Include(i => i.eStandort).ToList(); msg = $"{Optionen.ListeTerminals.Count} Terminals aus DB eingelesen"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Verbose); if (Optionen.ErsterDurchlauf) { Optionen.ErsterDurchlauf = false; var anzFehlerNichtNull = Optionen.ListeTerminals.Where(w => w.AnzahlFehler > 0).ToList(); if (anzFehlerNichtNull.Count > 0) { foreach (var nn in anzFehlerNichtNull) { nn.AnzahlFehler = 0; } Db.SaveChanges(); } } Optionen.UpdateBenutzerAusfuehren = (Optionen.ListeTerminals.Any(w => w.UpdateTerminal)); if (Optionen.UpdateBenutzerAusfuehren) { Optionen.ListeBediener = Db.tabBedienerSet.Where(w => (w.Status != EnumStatusBediener.Stillgelegt) && (!w.DatenAbgleich.Geloescht)).ToList(); msg = $"{Optionen.ListeBediener.Count} Bediener für Update Terminal aus DB eingelesen"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Verbose); } } msg = $"Daten aus Datenbank erfolgreich geladen."; Logger.Write(msg, "Service", 0, 0, TraceEventType.Information); } catch (Exception f) { msg = $"Fehler beim Laden der Daten aus der Datenbank."; throw new MyException(msg, f); } }
private async void Window_Loaded(object sender, RoutedEventArgs e) { _Db = new JgModelContainer(); _Standort = await _Db.tabStandortSet.FirstOrDefaultAsync(f => f.Id == Properties.Settings.Default.IdStandort); if (_Standort == null) { _Standort = await _Db.tabStandortSet.FirstOrDefaultAsync(); } tblStandort.Text = _Standort.Bezeichnung; InitListen(); _Report = new FastReport.Report() { FileName = "Datenbank" }; _ReportSettings.CustomSaveReport += (obj, repEvent) => { MemoryStream memStr = new MemoryStream(); try { repEvent.Report.Save(memStr); _Db.tabAuswertungSet.Attach(_AktAuswertung); _AktAuswertung.Report = memStr.ToArray(); _AktAuswertung.GeaendertDatum = DateTime.Now; _AktAuswertung.GeaendertName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _Db.SaveChanges(); } catch (Exception f) { Helper.InfoBox("Fehler beim speichern des Reports!", f); } finally { memStr.Dispose(); } }; _TimerAktualisierungTreeView = new DispatcherTimer(new TimeSpan(0, 1, 0), DispatcherPriority.ApplicationIdle, (sen, erg) => { TreeViewMaschinenAktualisieren(); }, Dispatcher.CurrentDispatcher); }
public void DatenInDatenbankEintragen(List <HandyDaten> ListeDaten) { var listeAuswertung = ListeDaten.Select(s => new ArbeitszeitImportDaten() { Datum = s.timestamp, MatchCode = s.userId, Vorgang = s.isCheckIn ? ArbeitszeitImportDaten.EnumVorgang.Komme : ArbeitszeitImportDaten.EnumVorgang.Gehen, Baustelle = s.construction }).ToList(); var msg = ""; try { using (var Db = new JgModelContainer()) { if (!string.IsNullOrWhiteSpace(_ConnectionString)) { Db.Database.Connection.ConnectionString = _ConnectionString; } var azImport = new ArbeitszeitImport(); azImport.ImportStarten(Db, listeAuswertung); Db.SaveChanges(); msg = $"{azImport.AnzahlAnmeldungen} Handy Anmeldungen in Datenbank gespeichert.\n{azImport.ProtokollOk}"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Verbose); if (azImport.ProtokollFehler != null) { msg = $"Anmeldungen ohne Benutzerzuordnung.\n{azImport.ProtokollFehler}"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Warning); } } } catch (Exception f) { msg = "Fehler beim eintragen der Anmeldedaten in die Datenbank."; throw new MyException(msg, f); } }
public static void ArbeitszeitenInDatenbank(OptionenArbeitszeit Optionen) { var msg = ""; try { using (var Db = new JgModelContainer()) { if (Optionen.VerbindungsString != "") { Db.Database.Connection.ConnectionString = Optionen.VerbindungsString; } msg = "Beginne Eintragungen in Datenbank."; Logger.Write(msg, "Service", 0, 0, TraceEventType.Verbose); if (Optionen.ListeAnmeldungen.Count > 0) { var azImport = new ArbeitszeitImport(); azImport.ImportStarten(Db, Optionen.ListeAnmeldungen); Db.SaveChanges(); msg = $"{azImport.AnzahlAnmeldungen} Anmeldungen erfolgreich in Datenbank gespeichert.\n\n{azImport.ProtokollOk}"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Verbose); if (azImport.ProtokollFehler != null) { msg = $"Anmeldungen ohne Benutzerzuordnung!\n\n{azImport.ProtokollFehler}"; Logger.Write(msg, "Service", 0, 0, TraceEventType.Warning); } } foreach (var term in Optionen.ListeTerminals) { if ((term.TerminaldatenWurdenAktualisiert) || (term.FehlerTerminalAusgeloest) || ((!term.FehlerTerminalAusgeloest) && (term.AnzahlFehler != 0))) { Db.tabArbeitszeitTerminalSet.Attach(term); Db.Entry(term).State = EntityState.Modified; // Terminals die erfolgreich geUpdatet wurden eintragen if (term.TerminaldatenWurdenAktualisiert) { term.UpdateTerminal = false; } // Wenn Fehleranzahl erreicht wurde, Fehler anzeigen und FehlerAnzahl auf 0 setzen if (term.FehlerTerminalAusgeloest) { term.AnzahlFehler = (short)(term.AnzahlFehler + 1); if (term.AnzahlFehler >= Optionen.AnzahlBisFehlerAusloesen) { term.AnzahlFehler = 0; msg = $"Fehleranzahl Verbindungsaufbau Terminal {term.Bezeichnung} / {term.eStandort.Bezeichnung} größer {Optionen.AnzahlBisFehlerAusloesen}."; Logger.Write(msg, "Service", 0, 0, TraceEventType.Error); } } else { if (term.AnzahlFehler != 0) { term.AnzahlFehler = 0; } } msg = $"Terminal {term.Bezeichnung} / {term.eStandort.Bezeichnung} aktualisiert."; Logger.Write(msg, "Service", 0, 0, TraceEventType.Verbose); } } Db.SaveChanges(); } } catch (Exception f) { msg = "Fehler beim eintragen der Anmeldedaten in die Datenbank."; throw new MyException(msg, f); } }