コード例 #1
0
        /// <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);
            }
        }
コード例 #2
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();
        }