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(); }
/// <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); } }