/// <summary> /// Die Aktenzeichen, Klienten und Mitarbeiter-Objekte für den ausgewählten Datensatz erstellen /// </summary> /// <param name="aktenzeichen"></param> public void setObjekte(Aktenzeichen aktenzeichen, Dictionary <string, Aktenzeichen> alle) { // Klienten-Objekt erstellen this.klient.Id = aktenzeichen.Klient.Id; this.klient.Anrede = aktenzeichen.Klient.Anrede; this.klient.Vorname = aktenzeichen.Klient.Vorname; this.klient.Name = aktenzeichen.Klient.Name; // Mitarbeiter-Objekt erstellen this.mitarbeiter.Personalnummer = aktenzeichen.Mitarbeiter.Personalnummer; this.mitarbeiter.Anrede = aktenzeichen.Mitarbeiter.Anrede; this.mitarbeiter.Titel = aktenzeichen.Mitarbeiter.Titel; this.mitarbeiter.Vorname = aktenzeichen.Mitarbeiter.Vorname; this.mitarbeiter.Name = aktenzeichen.Mitarbeiter.Name; this.mitarbeiter.Telefon = aktenzeichen.Mitarbeiter.Telefon; this.mitarbeiter.Funktion = aktenzeichen.Mitarbeiter.Funktion; //Aktenzeichen-Objekt erstellen this.Aktenzeichen.Id = aktenzeichen.Id; this.Aktenzeichen.Klient = aktenzeichen.Klient; this.Aktenzeichen.Mitarbeiter = aktenzeichen.Mitarbeiter; //Sammlung kopieren this.alle = alle.ToDictionary(entry => entry.Key, entry => entry.Value); }
/// <summary> /// Ändert den Platzhalter-Text im Fenster durch die ausgewählten Daten /// </summary> /// <param name="az"></param> /// <param name="datum"></param> private void setTermindaten(Aktenzeichen az, string datum) { labelPlatzhalter.Text = $"Aktenzeichen:\nKlient:\nMitarbeiter:\nDatum:"; labelPlatzhalterDaten.Text = $"{az.Id}\n{az.Klient.Anrede} {az.Klient.Name}, {az.Klient.Vorname}\n{az.Mitarbeiter.Anrede} {az.Mitarbeiter.Titel} {az.Mitarbeiter.Name}, {az.Mitarbeiter.Vorname}\n{datum}";; labelTermine.Text = $"Termine - {az.Mitarbeiter.Titel} {az.Mitarbeiter.Vorname} {az.Mitarbeiter.Name}"; }
public Termine(Aktenzeichen az, string datum, Dictionary <string, Aktenzeichen> alle) { this.az.Id = az.Id; this.az.Klient = az.Klient; this.az.Mitarbeiter = az.Mitarbeiter; this.datum = datum; this.alle = alle.ToDictionary(entry => entry.Key, entry => entry.Value); InitializeComponent(); setTermindaten(az, datum); fillTables(az, datum, alle); pruefeBedingungen(datum); }
/// <summary> /// Termine und Räume anhand der ausgewählten Daten in den Tabellen "Termine" und "Räume" füllen /// </summary> private void fillTables(Aktenzeichen az, string datum, Dictionary <string, Aktenzeichen> alle) { try { //Verbindung zur DB herstellen OleDbConnection dbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AnwaltskanzleiDB.mdb"); dbConnection.Open(); //Query machen und Daten holen //var splitDate = datum.Split(' ')[0]; string queryTermine = $"SELECT * FROM tblTermine INNER JOIN tblRaeume ON tblTermine.IDRaum = tblRaeume.IDRaum WHERE (tblTermine.IDMitarbeiter = {az.Mitarbeiter.Personalnummer} AND tblTermine.datTag = #{datum}#) ORDER BY datVon"; string queryRaumbelegung = $"SELECT * FROM tblTermine INNER JOIN tblRaeume ON tblTermine.IDRaum = tblRaeume.IDRaum WHERE (datTag = #{datum}#) ORDER BY datVon"; //Tabellen DataGridView füllen OleDbCommand dbCommandTermine = new OleDbCommand(queryTermine, dbConnection); OleDbCommand dbCommandRaumbelegung = new OleDbCommand(queryRaumbelegung, dbConnection); //Daten auslesen OleDbDataReader dbReaderTermine = dbCommandTermine.ExecuteReader(); OleDbDataReader dbReaderRaumbelegung = dbCommandRaumbelegung.ExecuteReader(); try { //Prüfen ob die Daten ausgelesen wurden //if (dbReaderTermine.HasRows == false) //{ // MessageBox.Show("Keine Termine wurden für das ausgewählte Datum gefunden", "Info"); //} //if (dbReaderRaumbelegung.HasRows == false) //{ // MessageBox.Show("Am ausgewählten Tag sind alle Räume frei", "Info"); //} //Tabelle Termine füllen tabelleTermine.Columns[0].DefaultCellStyle.Format = "HH:mm"; tabelleTermine.Columns[1].DefaultCellStyle.Format = "HH:mm"; while (dbReaderTermine.Read()) { //Daten in der Tabelle Termine schreiben ausgeben tabelleTermine.Rows.Add(dbReaderTermine["datVon"], dbReaderTermine["datBis"], dbReaderTermine["IDAktenzeichen"], alle[(dbReaderTermine["IDAktenzeichen"].ToString())].Klient.Name, dbReaderTermine["tblTermine.IDRaum"]); } //Tabelle Raumbelegung füllen tabelleRaumbelegung.Columns[0].DefaultCellStyle.Format = "HH:mm"; tabelleRaumbelegung.Columns[1].DefaultCellStyle.Format = "HH:mm"; while (dbReaderRaumbelegung.Read()) { //Daten in der Tabelle Termine schreiben ausgeben tabelleRaumbelegung.Rows.Add(dbReaderRaumbelegung["datVon"], dbReaderRaumbelegung["datBis"], dbReaderRaumbelegung["tblTermine.IDRaum"], dbReaderRaumbelegung["txtSitzungsart"], dbReaderRaumbelegung["ingPlatzzahl"]); } } catch { MessageBox.Show("Bei Ihrer Abfrage ist ein Fehler aufgetreten", "Fehler"); } //Verbindung schließen dbReaderRaumbelegung.Close(); dbReaderTermine.Close(); dbConnection.Close(); }catch (Exception ex) { MessageBox.Show(ex.Message); } }