private void ButtonUnterrichtHinzu_Click(object sender, EventArgs e) { long raumId = (long)comboBoxRaum.SelectedValue; long einheitId = (long)comboBoxEinheit.SelectedValue; long fachId = (long)comboBoxFach.SelectedValue; long klasseId = (long)comboBoxKlasse.SelectedValue; string datum = getDatum(); DataTable dtSchuelerKlasse = DbAccessViaSQL.GetSchuelerVonKlasse(klasseId); for (int i = 0; i < dtSchuelerKlasse.Rows.Count; i++) { long schuelerId = (long)dtSchuelerKlasse.Rows[i][0]; if (DbAccessViaSQL.InsertUnterricht(datum, einheitId, fachId, schuelerId, raumId, i * 10)) { // Nach dem letzten Insert einmal refreshen if (i == (dtSchuelerKlasse.Rows.Count - 1)) { holeDatenUndAktualisiere(); } } else { MessageBox.Show("Fehler beim Eintragen des Unterrichtes in die Datenbank"); } } }
private void ButtonSpeichern_Click(object sender, EventArgs e) { string datum = getDatum(); bool updateOK; for (int i = 0; i < panelSchueler.Controls.Count; i++) { UserControlSchueler schueler = panelSchueler.Controls[i] as UserControlSchueler; long einheitId = (long)comboBoxEinheit.SelectedValue; long raumId = (long)comboBoxRaum.SelectedValue; updateOK = false; updateOK = DbAccessViaSQL.UpdateUnterricht( schueler.Kommentar, schueler.Anwesend, schueler.Vorname, schueler.Nachname, datum, einheitId, raumId, schueler.Location.X, schueler.Location.Y, textBoxLehrstoff.Text); if (updateOK) { foreach (Control ctrl in schueler.Controls) { if (ctrl.GetType() == typeof(CheckBox)) { CheckBox cb = ctrl as CheckBox; if (cb.CheckState == CheckState.Checked) { cb.Parent.BackColor = Color.LightGreen; } else if (cb.CheckState == CheckState.Unchecked) { cb.Parent.BackColor = Color.PeachPuff; } } } } else { MessageBox.Show("Fehler beim Speichern und Eintragen der Änderungen in die Datenbank"); } } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); dateiName = ""; // Den Desktop als Initalpfad setzten openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); openFileDialog.Filter = "JPG-Dateien (*.jpg)|*.jpg"; // Hole die Klassen die in der DB existieren und füge diese zur Combobox hinzu DataTable dtKlassen = DbAccessViaSQL.GetKlassen(); comboBoxKlasse.DataSource = dtKlassen; comboBoxKlasse.DisplayMember = dtKlassen.Columns[1].ColumnName; comboBoxKlasse.ValueMember = dtKlassen.Columns[0].ColumnName; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); // Icons auf Buttons buttonTagZurueck.Text = ""; buttonTagZurueck.BackgroundImageLayout = ImageLayout.Stretch; buttonTagZurueck.BackgroundImage = Properties.Resources.blue_arrow_left; buttonTagVor.Text = ""; buttonTagVor.BackgroundImageLayout = ImageLayout.Stretch; buttonTagVor.BackgroundImage = Properties.Resources.blue_arrow_right; // Hole die Räume die in der Db existieren füge diese zur Combobox hinzu DataTable dtRaumInfo = DbAccessViaSQL.GetRaeume(); comboBoxRaum.DataSource = dtRaumInfo; comboBoxRaum.DisplayMember = dtRaumInfo.Columns[1].ColumnName; comboBoxRaum.ValueMember = dtRaumInfo.Columns[0].ColumnName; // Hole die Unterrichtseinheiten (Zeiten von bis) die in der Db existieren füge diese zur Combobox hinzu DataTable dtEinheitInfo = DbAccessViaSQL.GetEinheiten(); comboBoxEinheit.DataSource = dtEinheitInfo; comboBoxEinheit.DisplayMember = dtEinheitInfo.Columns[1].ColumnName; comboBoxEinheit.ValueMember = dtEinheitInfo.Columns[0].ColumnName; // Registrierung von Event Handlern (erst nachdem die Datenbindung der Comboboxen statt gefunden hat) dateTimePicker.ValueChanged += aktualisiereDaten_Changed; comboBoxRaum.SelectedIndexChanged += aktualisiereDaten_Changed; comboBoxEinheit.SelectedIndexChanged += aktualisiereDaten_Changed; // Setzte die aktuelle Unterrichtseinheit buttonJetzt.PerformClick(); // Hole Daten aus der Db und aktualsiere das UI holeDatenUndAktualisiere(); }
//**************************************************// // Mehtoden // //**************************************************// private void holeDatenUndAktualisiere() { if (!string.IsNullOrEmpty(comboBoxEinheit.Text) && !string.IsNullOrEmpty(comboBoxRaum.Text)) { // Zunächst einmal das UI clearen bereinigeUI(); string datum = getDatum(); long einheitId = (long)comboBoxEinheit.SelectedValue; long raumId = (long)comboBoxRaum.SelectedValue; // Hole die Daten zum Unterricht anhand von Raum, Unterrichtseinheit und Datum DataTable dtUnterrichtInfo = DbAccessViaSQL.GetUntertichtInfo(raumId, einheitId, datum); // Hole die untaetigen Klassen die in der Db existieren und füge diese zur Combobox hinzu DataTable dtUntaetigeKlassen = DbAccessViaSQL.GetUntaetigeKlassen(datum, einheitId); comboBoxKlasse.DataSource = dtUntaetigeKlassen; comboBoxKlasse.DisplayMember = dtUntaetigeKlassen.Columns[1].ColumnName; comboBoxKlasse.ValueMember = dtUntaetigeKlassen.Columns[0].ColumnName; // Hole die untaetigen Faecher die in der Db existieren und füge diese zur Combobox hinzu DataTable dtUntaetigeFaecher = DbAccessViaSQL.GetUntaetigeFaecher(datum, einheitId); comboBoxFach.DataSource = dtUntaetigeFaecher; comboBoxFach.DisplayMember = dtUntaetigeFaecher.Columns[1].ColumnName; comboBoxFach.ValueMember = dtUntaetigeFaecher.Columns[0].ColumnName; // Wenn keine Daten zum Untericht vorliegen, kann die UI nicht gefüllt werden if (dtUnterrichtInfo != null && dtUnterrichtInfo.Rows.Count > 0) { aktualisiereDaten(dtUnterrichtInfo); buttonUnterrichtHinzu.Enabled = false; } else { buttonUnterrichtHinzu.Enabled = true; } } }
private void ButtonSpeichern_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBoxVorname.Text) || string.IsNullOrWhiteSpace(textBoxVorname.Text) || string.IsNullOrEmpty(textBoxNachname.Text) || string.IsNullOrWhiteSpace(textBoxNachname.Text) || string.IsNullOrEmpty(dateiName)) { MessageBox.Show("Bild nicht geladen oder Name ungueltig!"); } else { string vorname = textBoxVorname.Text.Trim(); string nachname = textBoxNachname.Text.Trim(); string bildName = vorname + nachname + ".jpg"; string pfadZumBildOrdner = Path.GetFullPath(Path.Combine(Application.StartupPath, @"..\..", "Bilder")); string pfadZumBild = Path.GetFullPath(Path.Combine(Application.StartupPath, @"..\..", "Bilder", bildName)); if (Directory.Exists(pfadZumBildOrdner)) { if (File.Exists(dateiName)) { if (!File.Exists(pfadZumBild)) { // Füge den Schüler zunächst als neue Person zur Db hinzu if (DbAccessViaSQL.InsertPerson(vorname, nachname)) { long personId = 0; // Hole die PersonenID vom neu angelegten Schüler DataTable dtPersonID = DbAccessViaSQL.GetPersonID(vorname, nachname); for (int i = 0; i < dtPersonID.Rows.Count; i++) { personId = (long)(dtPersonID.Rows[i][0]); } // Die ID der Klasse, je nach Auswahl in der Combobox, in die der Schüler kommen soll long klasseId = (long)comboBoxKlasse.SelectedValue; // Den neuen Schüler zur Db hinzufuegen if (DbAccessViaSQL.InsertSchueler(personId, klasseId)) { // Kopiere das Bild in den Bildordner, wo alle Schueler gespeichert sind File.Copy(dateiName, pfadZumBild, true); } else { MessageBox.Show("Fehler beim Eintragen des neuen Schülers in die Schüler-Tabelle der Datenbank"); } } else { MessageBox.Show("Fehler beim Eintragen des neuen Schülers in die Person-Tabelle der Datenbank"); } } else { MessageBox.Show("Es existiert bereits ein Bild mit diesem Namen!"); } } else { MessageBox.Show("Zu kopierende Datei existiert nicht!"); } } else { MessageBox.Show("Order in dem kopiert werden soll existiert nicht!"); } } }