示例#1
0
        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");
                }
            }
        }
示例#2
0
        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");
                }
            }
        }
示例#3
0
        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;
        }
示例#4
0
        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();
        }
示例#5
0
        //**************************************************//
        //  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;
                }
            }
        }
示例#6
0
        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!");
                }
            }
        }