コード例 #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 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;
            }
        }