/// <summary>
        /// Löscht die zur Zeit geladene Umfrage aus der Datenbank
        /// Es werden alle zugehörigen Datensätze (Fragen, Antworten...) rekursiv mit gelöscht.
        /// </summary>
        /// <param name="owner">der Benutzer, der die Umfrage löschen will</param>
        public void DeleteFromDB(UserInfo owner)
        {
            if (!IsLoaded)
            {
                return;
            }

            if (!owner.IsLoggedIn)
            {
                return;
            }

            DataAccessUmfragen daUmfr = new DataAccessUmfragen();
            DSUmfragen dsUmfr = daUmfr.GetUmfrageByID(m_umfrageID);
            if (dsUmfr.umfragen.Count != 1)
            {
                // wenn nicht genau 1 Datensatz zurückkommt, stimmt was nicht
                // TODO: Exception werfen
            }
            else if (!dsUmfr.umfragen[0].r_userID.Equals(owner.UserID) && !owner.IsAdmin)
            {
                // die Umfrage gehört nicht dem eingeloggten Benutzer und dieser ist kein Admin
                // TODO: Exception
            }
            else
            {
                daUmfr.DeleteUmfrage(m_umfrageID);
            }
        }
 private void RefreshDGUmfragen()
 {
     DSUmfragen dsAllUmfragen = new DataAccessUmfragen().Select();
     m_dgUmfragen.DataSource = dsAllUmfragen.umfragen;
     m_dgUmfragen.DataBind();
 }
        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();
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Falls keine Umfrage geladen ist, zurück zur Startseite
            UmfrageInfo umfr = SessionContainer.ReadFromSession(this).Umfrage;

            // TEST: Umfrage laden
            umfr.Load(Convert.ToInt32(Request.QueryString["uid"]));

            if (!umfr.IsLoaded)
            {
                Server.Transfer("default.aspx");
            }

            // Einblendungen für Login und Navmenü prüfen
            check_visibility();

            // Initialisierungen
            if (!IsPostBack)
            {
                // Umfrage aus der DB ziehen
                DSUmfragen dsUmfr = new DataAccessUmfragen().GetUmfrageByID(umfr.UmfrageID);

                if (dsUmfr.umfragen.Count == 1)
                {
                    // Umfragetitel setzen
                    m_lbUmfrageTitel.InnerText = dsUmfr.umfragen[0].Titel;
                    m_lbComment.InnerText = dsUmfr.umfragen[0].Beschreibung;
                    ShowFragen();
                }
            }
        }
 private void RefreshDGUmfragen()
 {
     // alle Benutzerdatensätze aus der DB ziehen und im Datagrid darstellen
     DSUmfragen dsAllUmfragen = new DataAccessUmfragen().Select();
     m_dgUmfragen.DataSource = dsAllUmfragen.umfragen;
     m_dgUmfragen.DataBind();
 }
        private void SaveUmfrage()
        {
            if (IsValid)
            {
                // Fehlermessage zurückssetzen
                m_lbValidatorMessageTitel.Visible = false;

                int onlinestatus = (m_chbOnline.Checked ? DBConstants.Online : DBConstants.NotOnline);
                UmfrageInfo umfr = SessionContainer.ReadFromSession(this).Umfrage;
                UserInfo user = SessionContainer.ReadFromSession(this).User;

                // Umfragedatensatz aktualisieren oder neu anlegen
                DataAccessUmfragen daUmfr = new DataAccessUmfragen();
                DSUmfragen dsUmfr= daUmfr.GetUmfrageByID(umfr.UmfrageID);
                if (dsUmfr.umfragen.Count == 0)
                {
                    // Umfrage besteht noch nicht in der DB, neuen Datensatz anlegen
                    dsUmfr.umfragen.AddumfragenRow(m_txtTitel.Text.Trim(), m_txtComment.Text.Trim(), System.DateTime.Now, System.DateTime.Now, user.UserID, onlinestatus);
                }
                else if (dsUmfr.umfragen.Count == 1)
                {
                    // Umfrage besteht schon, Datensatz aktualisieren
                    dsUmfr.umfragen[0].Titel = m_txtTitel.Text.Trim();
                    dsUmfr.umfragen[0].Beschreibung = m_txtComment.Text.Trim();
                    dsUmfr.umfragen[0].Onlinestatus = onlinestatus;
                }
                daUmfr.CommitChanges(dsUmfr);

                // ID des neuen Datensatzes in die Session schreiben
                if (dsUmfr.umfragen[0].UmfrageID != umfr.UmfrageID)
                {
                    umfr.Load(dsUmfr.umfragen[0].UmfrageID);
                }
            }
            else
            {
                m_lbValidatorMessageTitel.Visible = true;
            }
        }