private void FillDGAntwErstellen(int FrageID)
        {
            // vorhandene Antwortmöglichkeiten zu der Frage mit der Id FrageID aus der DB ziehen
            SqlParameter pR_FrageID = DataAccessAwmoeglichkeiten.Paramr_FrageID;

            pR_FrageID.Value = FrageID;
            DataParameters parameters = new DataParameters();

            parameters.Add(pR_FrageID);
            DataAccessAwmoeglichkeiten daAwMoegl = new DataAccessAwmoeglichkeiten();
            DSAwmoeglichkeiten         dsAwMoegl = daAwMoegl.Select(parameters);

            if (dsAwMoegl.awmoeglichkeiten.Count > 0)
            {
                // Entsprechende Anzahl von Editfeldern im DataGrid anlegen (+ 4 neue)
                PrepareDGAntwErstellen(dsAwMoegl.awmoeglichkeiten.Count + 4);

                // Daten in die Editfelder eintragen
                for (int i = 0; i < dsAwMoegl.awmoeglichkeiten.Count; i++)
                {
                    TextBox txtbx = (TextBox)DataGridAccess.GetControlFromDataGrid(m_dgAntwErstellen.Items[i], typeof(TextBox), 1, 0);
                    if (txtbx != null)
                    {
                        // Antworttext in das Editfeld dieser Zeile eintragen
                        txtbx.Text = dsAwMoegl.awmoeglichkeiten[i].Text;
                        // AntwortMögl.-ID in die gleiche Zeile eintragen
                        m_dgAntwErstellen.Items[i].Cells[0].Text = dsAwMoegl.awmoeglichkeiten[i].AwmID.ToString();
                    }
                }
            }
            else
            {
                PrepareDGAntwErstellen(6);
            }
        }
        private void m_btnLoeschen_Click(object sender, System.EventArgs e)
        {
            ArrayList idCache = new ArrayList();

            // IDs aller selektierten Fragen ermitteln
            for (int i = 0; i < m_dgFragen.Items.Count; i++)
            {
                CheckBox cbx = (CheckBox)DataGridAccess.GetControlFromDataGrid(m_dgFragen.Items[i], typeof(CheckBox), 1, 0);
                if (cbx != null && cbx.Checked)
                {
                    // ID der selektierten Frage zwischenspeichern
                    idCache.Add(Convert.ToInt32(m_dgFragen.Items[i].Cells[0].Text));
                }
            }

            // Für jede ID den entsprechenden Datensatz aus der DB ziehen und löschen
            DataAccessFragen daFragen = new DataAccessFragen();

            foreach (int id in idCache)
            {
                // alle Datensätze aus dem DataSet löschen
                daFragen.DeleteFrage(id);
                // Falls die in Bearbeitung befindliche Frage gelöscht wird
                // die Fragebearbeitungsanzeige zurücksetzen
                if (id == FrageID)
                {
                    NeueFrage();
                }
            }

            RefreshDGFragen();
        }
        private void m_lnkbMehrAntw_Click(object sender, System.EventArgs e)
        {
            ArrayList tempData = new ArrayList();

            // den Inhalt aller Textboxen die nicht leer sind zwischenspeichern
            for (int i = 0; i < m_dgAntwErstellen.Items.Count; i++)
            {
                TextBox txtbx = (TextBox)DataGridAccess.GetControlFromDataGrid(m_dgAntwErstellen.Items[i], typeof(TextBox), 1, 0);
                if (txtbx != null)
                {
                    if (txtbx.Text.Trim() != "")
                    {
                        // ein Pair von Text und ID zwischenspeichern
                        tempData.Add(new Pair(txtbx.Text, m_dgAntwErstellen.Items[i].Cells[0].Text));
                    }
                }
            }

            // mehr Eingabefelder erzeugen
            PrepareDGAntwErstellen(m_dgAntwErstellen.Items.Count + 4);

            // Daten in die Textboxen zurückschreiben
            for (int i = 0; i < tempData.Count; i++)
            {
                TextBox txtbx = (TextBox)DataGridAccess.GetControlFromDataGrid(m_dgAntwErstellen.Items[i], typeof(TextBox), 1, 0);
                if (txtbx != null)
                {
                    txtbx.Text = (string)((Pair)tempData[i]).First;
                    m_dgAntwErstellen.Items[i].Cells[0].Text = (string)((Pair)tempData[i]).Second;
                }
            }
        }
示例#4
0
        private void RefreshDGBenutzer()
        {
            // alle Benutzerdatensätze aus der DB ziehen und im Datagrid darstellen
            DSBenutzer dsAllUsers = new DataAccessBenutzer().Select();

            m_dgBenutzer.DataSource = dsAllUsers.benutzer;
            m_dgBenutzer.DataBind();

            // Benutzerrechte in den DropdownListen darstellen
            // Inhalt der Dropdownlisten vorbereiten
            ArrayList choice = new ArrayList();

            choice.Add("Benutzer");
            choice.Add("Admin");
            for (int i = 0; i < dsAllUsers.benutzer.Count; i++)
            {
                DropDownList ddl = (DropDownList)DataGridAccess.GetControlFromDataGrid(m_dgBenutzer.Items[i], typeof(DropDownList), 3, 0);
                if (ddl != null)
                {
                    ddl.DataSource = choice;
                    ddl.DataBind();
                    ddl.SelectedIndex         = dsAllUsers.benutzer[i].GruppenID;
                    ddl.SelectedIndexChanged += new EventHandler(ddlUserRights_SelectedIndexChanged);
                    ddl.AutoPostBack          = true;
                }
            }
        }
示例#5
0
        private void ShowFragen()
        {
            UmfrageInfo umfr = SessionContainer.ReadFromSession(this).Umfrage;
            // alle Fragen zu der Umfrage aus der DB ziehen
            SqlParameter pAllFragen = DataAccessFragen.Paramr_UmfrageID;

            pAllFragen.Value = umfr.UmfrageID;
            DataParameters parameters = new DataParameters();

            parameters.Add(pAllFragen);
            DSFragen dsAllFragen = new DataAccessFragen().Select(parameters);

            // DataGrid vorbereiten
            m_dgFragedarstellung.DataSource = dsAllFragen.fragen;
            m_dgFragedarstellung.DataBind();

            // Fragen in Datagrid eintragen
            for (int i = 0; i < m_dgFragedarstellung.Items.Count; i++)
            {
                // Titel setzen
                Label lb = (Label)DataGridAccess.GetControlFromDataGrid(m_dgFragedarstellung.Items[i], typeof(Label), 1, 0);
                if (lb != null)
                {
                    lb.Text = dsAllFragen.fragen[i].Text;
                }

                // Antwortmöglickeiten darstellen
                PutAntworten(m_dgFragedarstellung.Items[i], dsAllFragen.fragen[i].FrageID, dsAllFragen.fragen[i].Frageart);
            }
        }
        private void SaveAntworten()
        {
            TextBox txt = null;
            DataAccessAwmoeglichkeiten daAntw = new DataAccessAwmoeglichkeiten();
            DSAwmoeglichkeiten         dsAntw = new DSAwmoeglichkeiten();

            for (int i = 0; i < m_dgAntwErstellen.Items.Count; i++)
            {
                dsAntw.Clear();
                int id = Convert.ToInt32(m_dgAntwErstellen.Items[i].Cells[0].Text);
                txt = (TextBox)DataGridAccess.GetControlFromDataGrid(m_dgAntwErstellen.Items[i], typeof(TextBox), 1, 0);
                if (txt == null)
                {
                    continue;
                }

                if (txt.Text.Trim() == "")
                {
                    // wenn ein leeres Textfeld eine gültige ID hat, wird der Datensatz gelöscht
                    if (id != DBConstants.NotValid)
                    {
                        daAntw.DeleteAntwortmoegl(id);
                    }

                    continue;
                }
                else
                {
                    dsAntw = daAntw.GetAntwortmoeglByID(id);
                    if (dsAntw.awmoeglichkeiten.Count == 0)
                    {
                        // neuen Datensatz anlegen
                        dsAntw.awmoeglichkeiten.AddawmoeglichkeitenRow(FrageID, txt.Text.Trim());
                    }
                    else if (dsAntw.awmoeglichkeiten.Count == 1)
                    {
                        // Datensatz aktualisieren
                        dsAntw.awmoeglichkeiten[0].Text = txt.Text.Trim();
                    }
                }
                daAntw.CommitChanges(dsAntw);

                // ID des Datensatzes in Datagrid eintragen
                m_dgAntwErstellen.Items[i].Cells[0].Text = dsAntw.awmoeglichkeiten[0].AwmID.ToString();
            }

            // Datagrid aktualisieren
            FillDGAntwErstellen(FrageID);
        }
        private void m_btnBearbeiten_Click(object sender, System.EventArgs e)
        {
            // suche die erste selektierte Frage
            for (int i = 0; i < m_dgFragen.Items.Count; i++)
            {
                CheckBox cbx = (CheckBox)DataGridAccess.GetControlFromDataGrid(m_dgFragen.Items[i], typeof(CheckBox), 1, 0);
                if (cbx != null && cbx.Checked)
                {
                    // selektierten Frage anhand ihrer ID zum Bearbeiten laden
                    LoadFrage(Convert.ToInt32(m_dgFragen.Items[i].Cells[0].Text));

                    // die erste selektierte Frage wurde gefunden, die weiteren werden nicht behandelt
                    break;
                }
            }
        }
示例#8
0
        private void PutAntworten(DataGridItem item, int frageID, int frageart)
        {
            // Antwortmöglichkeiten aus der DB ziehen
            SqlParameter pFrageID = DataAccessAwmoeglichkeiten.Paramr_FrageID;

            pFrageID.Value = frageID;
            DataParameters parameters = new DataParameters();

            parameters.Add(pFrageID);
            DSAwmoeglichkeiten dsAntw = new DataAccessAwmoeglichkeiten().Select(parameters);

            switch (frageart)
            {
            case DBConstants.TextFrage:
                TextBox txt = (TextBox)DataGridAccess.GetControlFromDataGrid(item, typeof(TextBox), 1, 0);
                if (txt != null)
                {
                    txt.Visible = true;
                }
                break;

            case DBConstants.UndFrage:
                CheckBoxList chbl = (CheckBoxList)DataGridAccess.GetControlFromDataGrid(item, typeof(CheckBoxList), 1, 0);
                if (chbl != null)
                {
                    chbl.Visible       = true;
                    chbl.DataTextField = dsAntw.awmoeglichkeiten.Columns["Text"].ToString();
                    chbl.DataSource    = dsAntw.awmoeglichkeiten;
                    chbl.DataBind();
                }
                break;

            case DBConstants.OderFrage:
                DropDownList ddl = (DropDownList)DataGridAccess.GetControlFromDataGrid(item, typeof(DropDownList), 1, 0);
                if (ddl != null)
                {
                    ddl.Visible       = true;
                    ddl.DataSource    = dsAntw.awmoeglichkeiten;
                    ddl.DataTextField = dsAntw.awmoeglichkeiten.Columns["Text"].ToString();
                    ddl.DataBind();
                }
                break;
            }
        }
示例#9
0
        private void m_btnUmfrageLoeschen_Click(object sender, System.EventArgs e)
        {
            // für alle selektierten Zeilen den entsprechenden Datensatz löschen
            DataAccessUmfragen daUmfr = new DataAccessUmfragen();

            // IDs aller selektierten Umfragen ermitteln
            for (int i = 0; i < m_dgUmfragen.Items.Count; i++)
            {
                CheckBox cbx = (CheckBox)DataGridAccess.GetControlFromDataGrid(m_dgUmfragen.Items[i], typeof(CheckBox), 1, 0);
                if (cbx != null && cbx.Checked)
                {
                    // Datensatz löschen
                    int id = Convert.ToInt32(m_dgUmfragen.Items[i].Cells[0].Text);
                    daUmfr.DeleteUmfrage(id);
                }
            }

            RefreshDGUmfragen();
        }