private void btnRegistrieren_ServerClick(object sender, System.EventArgs e)
        {
            SqlParameter paramName = DataAccessBenutzer.ParamName;
            paramName.Value = txtBenutzername.Text;
            DataParameters dParams = new DataParameters();
            dParams.Add(paramName);
            DSBenutzer dsBen = daBenutzer.Select(dParams);

            if(dsBen.benutzer.Rows.Count > 0)
            {
                lbAusgabe.InnerText = "Benutzername existiert bereits!";
            }
            else
            {
                lbAusgabe.InnerText = "Registrierung erfolgreich. Sie können sich jetzt auf der Startseite einloggen!";
                DSBenutzer.benutzerRow newEntry = dsBen.benutzer.NewbenutzerRow();
                newEntry.Name = txtBenutzername.Text;
                newEntry.Passwort = txtPasswort.Text;
                newEntry.GruppenID = DBConstants.User;
                dsBen.benutzer.AddbenutzerRow(newEntry);
                try
                {
                    daBenutzer.CommitChanges(dsBen);
                }
                catch(Exception ex)
                {
                    lbAusgabe.InnerText = ex.Message;
                }
            }
        }
        /// <summary>
        /// prüft, ob Benutzername und Passwort gültig sind und loggt den Benutzer ggf. ein
        /// </summary>
        /// <param name="username">zu prüfender Benutzername</param>
        /// <param name="passwd">zu prüfendes Passwort</param>
        /// <returns>true, wenn Login erfolgreich, sonst false</returns>
        public bool Login(string username, string passwd)
        {
            // Daten für die DB-Abfrage vorbereiten
            SqlParameter pUsername = DataAccessBenutzer.ParamName;
            pUsername.Value = username;
            SqlParameter pPasswd = DataAccessBenutzer.ParamPasswort;
            pPasswd.Value = passwd;
            DataParameters loginParams = new DataParameters();
            loginParams.Add(pUsername);
            loginParams.Add(pPasswd);

            // DataSet mit Ergebnissen abholen
            DataAccessBenutzer daUser = new DataAccessBenutzer();
            DSBenutzer dsUser = daUser.Select(loginParams);

            // genau 1 Datensatz?
            if (dsUser.benutzer.Count == 1)
            {
                m_isLoggedIn = true;
                m_username = username;
                m_userID = dsUser.benutzer[0].UserID;
                m_isAdmin = (DBConstants.Admin == dsUser.benutzer[0].GruppenID);
            }
            else
            {
                Logout();
            }

            return m_isLoggedIn;
        }
예제 #3
0
        public DSAwmoeglichkeiten GetAntwortmoeglByID(int id)
        {
            SqlParameter pID = ParamAwmID;

            pID.Value = id;
            DataParameters parameter = new DataParameters();

            parameter.Add(pID);
            return(Select(parameter));
        }
예제 #4
0
        public DSUserantworttext GetAntwortByID(int id)
        {
            SqlParameter pID = ParamUawtID;

            pID.Value = id;
            DataParameters parameter = new DataParameters();

            parameter.Add(pID);
            return(Select(parameter));
        }
예제 #5
0
        public DSUmfragen GetUmfrageByID(int id)
        {
            SqlParameter pID = ParamUmfrageID;

            pID.Value = id;
            DataParameters parameter = new DataParameters();

            parameter.Add(pID);
            return(Select(parameter));
        }
예제 #6
0
        public DSBenutzer GetBenutzerByID(int id)
        {
            SqlParameter pID = ParamUserID;

            pID.Value = id;
            DataParameters parameter = new DataParameters();

            parameter.Add(pID);
            return(Select(parameter));
        }
        private void LinkLogin_Click(object sender, System.EventArgs e)
        {
            SqlParameter paramName = DataAccessBenutzer.ParamName;
            paramName.Value = txtBenutzername.Text;
            DataParameters dParams = new DataParameters();
            dParams.Add(paramName);
            DSBenutzer dsBen = daBenutzer.Select(dParams);

            if(dsBen.benutzer.Rows.Count == 1)
            {
                string pw = (string)dsBen.benutzer.Rows[0]["Passwort"];
                if (pw.Equals( txtPasswort.Text))
                {
                    // Login erfolgreich
                    string username = (string)dsBen.benutzer.Rows[0]["Name"];
                    SessionContainer.ReadFromSession(this).User.Login(username, pw);
                }
                else
                {
                    // Falsches Passwort
                    SessionContainer.ReadFromSession(this).User.Logout();
                    // lbLoginMessage.Text = "Login nicht erfolgreich!";
                    lbLoginMessage.Text = "Falsches Passwort!";
                }
            }
            else
            {
                SessionContainer.ReadFromSession(this).User.Logout();
                lbLoginMessage.Text = "Benutzer ist  nicht bekannt!";
            }

            if (SessionContainer.ReadFromSession(this).User.IsLoggedIn)
            {
                // lbLoginStatus.Text = "Login erfolgreich!";
                // Server.Transfer("defaultuser.aspx");
                lbLoginStatus.Text = @"Eingeloggt als """ + SessionContainer.ReadFromSession(this).User.Username + @"""";
                m_login.Visible = false;
                m_logout.Visible = true;
                lbLoginMessage.Text = "";
            }
            else
            {
                // lbLoginMessage.Text = "Login fehlgeschlagen!";
                lbLoginStatus.Text = "";
            }
        }
        public static string MakeSelectString(DataParameters selectParams, string tableName)
        {
            StringBuilder sbSelect = new StringBuilder("SELECT * FROM ");
            sbSelect.Append(tableName);
            if (selectParams != null)
            {
                string sqlClause = " WHERE ";
                for(int i = 0; i < selectParams.Count; i++)
                {
                    sbSelect.Append(sqlClause);
                    sqlClause = " AND ";

                    sbSelect.AppendFormat("{0}={1}", selectParams[i].SourceColumn, selectParams[i].ParameterName);
                }
            }

            return sbSelect.ToString();
        }
예제 #9
0
        /// <summary>
        /// Stellt ein DataSet aus der Tabelle benutzer zusammen, das den mit selectParams festgelegten
        /// Suchkriterien entspricht
        /// </summary>
        /// <param name="selectParams">Suchkriterien</param>
        /// <returns>ein DataSet vom Typ DSBenutzer das die gesuchten Datensätze enthält</returns>
        public DSBenutzer Select(DataParameters selectParams)
        {
            m_adpBenutzer.SelectCommand.CommandText = SQLCommandBuilder.MakeSelectString(selectParams, "benutzer");

            if (selectParams != null)
            {
                for (int i = 0; i < selectParams.Count; i++)
                {
                    m_adpBenutzer.SelectCommand.Parameters.Add(selectParams[i]);
                }
            }

            DSBenutzer dsResult = new DSBenutzer();

            m_adpBenutzer.Fill(dsResult, dsResult.benutzer.TableName);
            m_cmSelect.Parameters.Clear();
            return(dsResult);
        }
예제 #10
0
        /// <summary>
        /// Stellt ein DataSet aus der Tabelle awmoeglichkeiten zusammen, das den mit selectParams festgelegten
        /// Suchkriterien entspricht
        /// </summary>
        /// <param name="selectParams">Suchkriterien</param>
        /// <returns>ein DataSet vom Typ DSAwmoeglichkeiten das die gesuchten Datensätze enthält</returns>
        public DSAwmoeglichkeiten Select(DataParameters selectParams)
        {
            m_adpAwmoegl.SelectCommand.CommandText = SQLCommandBuilder.MakeSelectString(selectParams, "awmoeglichkeiten");

            if (selectParams != null)
            {
                for (int i = 0; i < selectParams.Count; i++)
                {
                    m_adpAwmoegl.SelectCommand.Parameters.Add(selectParams[i]);
                }
            }

            DSAwmoeglichkeiten dsResult = new DSAwmoeglichkeiten();

            m_adpAwmoegl.Fill(dsResult, dsResult.awmoeglichkeiten.TableName);
            m_cmSelect.Parameters.Clear();
            return(dsResult);
        }
예제 #11
0
        /// <summary>
        /// Stellt ein DataSet aus der Tabelle userantworttext zusammen, das den mit selectParams festgelegten
        /// Suchkriterien entspricht
        /// </summary>
        /// <param name="selectParams">Suchkriterien</param>
        /// <returns>ein DataSet vom Typ DSUserantworttext das die gesuchten Datensätze enthält</returns>
        public DSUserantworttext Select(DataParameters selectParams)
        {
            m_adpUserantworttext.SelectCommand.CommandText = SQLCommandBuilder.MakeSelectString(selectParams, "userantworttext");

            if (selectParams != null)
            {
                for (int i = 0; i < selectParams.Count; i++)
                {
                    m_adpUserantworttext.SelectCommand.Parameters.Add(selectParams[i]);
                }
            }

            DSUserantworttext dsResult = new DSUserantworttext();

            m_adpUserantworttext.Fill(dsResult, dsResult.userantworttext.TableName);
            m_cmSelect.Parameters.Clear();
            return(dsResult);
        }
예제 #12
0
        public static string MakeSelectString(DataParameters selectParams, string tableName)
        {
            StringBuilder sbSelect = new StringBuilder("SELECT * FROM ");

            sbSelect.Append(tableName);
            if (selectParams != null)
            {
                string sqlClause = " WHERE ";
                for (int i = 0; i < selectParams.Count; i++)
                {
                    sbSelect.Append(sqlClause);
                    sqlClause = " AND ";

                    sbSelect.AppendFormat("{0}={1}", selectParams[i].SourceColumn, selectParams[i].ParameterName);
                }
            }

            return(sbSelect.ToString());
        }
        private void LinkLogin_Click(object sender, System.EventArgs e)
        {
            SqlParameter paramName = DataAccessBenutzer.ParamName;
            paramName.Value = txtBenutzername.Text;
            DataParameters dParams = new DataParameters();
            dParams.Add(paramName);
            DSBenutzer dsBen = daBenutzer.Select(dParams);

            if(dsBen.benutzer.Rows.Count == 1)
            {
                string pw = (string)dsBen.benutzer.Rows[0]["Passwort"];
                if (pw.Equals( txtPasswort.Text))
                {
                    // Login erfolgreich
                    string username = (string)dsBen.benutzer.Rows[0]["Name"];
                    SessionContainer.ReadFromSession(this).User.Login(username, pw);
                    check_visibility();

                    // Statusmessages setzen
                    lbLoginStatus.Text = @"Eingeloggt als """ + SessionContainer.ReadFromSession(this).User.Username + @"""";
                    lbLoginMessage.Text = "";

                    // Redirect zur persönlichen Startseite
                    Server.Transfer("defaultuser.aspx");
                }
                else
                {
                    // Falsches Passwort

                    // Überprüfung auf Debugmodus
                    if(!DBConstants.Debugmodus)
                    {
                        // Standardausgabe
                        lbLoginMessage.Text = "Login fehlgeschlagen!";
                    }
                    else
                    {
                        // Ausgabe im Debugmodus
                        lbLoginMessage.Text = "Falsches Passwort!";
                    }

                    // Zur Sicherheit abmelden
                    SessionContainer.ReadFromSession(this).User.Logout();

                    // Statusmessages setzen
                    lbLoginStatus.Text = "";

                    // Sichtbarkeiten neu festlegen
                    check_visibility();

                }
            }
            else
            {
                // Falscher Benutzer

                // Überprüfung auf Debugmodus
                if(!DBConstants.Debugmodus)
                {
                    // Standardausgabe
                    lbLoginMessage.Text = "Login fehlgeschlagen!";
                }
                else
                {
                    // Ausgabe im Debugmodus
                    lbLoginMessage.Text = "Unbekannter Benutzer!";
                }

                // Zur Sicherheit abmelden
                SessionContainer.ReadFromSession(this).User.Logout();

                // Statusmessages setzen
                lbLoginStatus.Text = "";

                // Sichtbarkeiten neu festlegen
                check_visibility();
            }
        }
 private void RefreshDGFragen()
 {
     SqlParameter pRUmfrageID = DataAccessFragen.Paramr_UmfrageID;
     pRUmfrageID.Value = SessionContainer.ReadFromSession(this).Umfrage.UmfrageID;
     DataParameters paramsFragen = new DataParameters();
     paramsFragen.Add(pRUmfrageID);
     DataAccessFragen daFragen = new DataAccessFragen();
     DSFragen dsFragen = daFragen.Select(paramsFragen);
     m_dgFragen.DataSource = dsFragen.fragen;
     m_dgFragen.DataBind();
     m_tblFragen.Visible = (dsFragen.fragen.Rows.Count > 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;
            }
        }
 public DSAwmoeglichkeiten GetAntwortmoeglByID(int id)
 {
     SqlParameter pID = ParamAwmID;
     pID.Value = id;
     DataParameters parameter = new DataParameters();
     parameter.Add(pID);
     return Select(parameter);
 }
        /// <summary>
        /// Stellt ein DataSet aus der Tabelle userantworttext zusammen, das den mit selectParams festgelegten
        /// Suchkriterien entspricht
        /// </summary>
        /// <param name="selectParams">Suchkriterien</param>
        /// <returns>ein DataSet vom Typ DSUserantworttext das die gesuchten Datensätze enthält</returns>
        public DSUserantworttext Select(DataParameters selectParams)
        {
            m_adpUserantworttext.SelectCommand.CommandText = SQLCommandBuilder.MakeSelectString(selectParams, "userantworttext");

            if (selectParams != null)
            {
                for(int i = 0; i < selectParams.Count; i++)
                {
                    m_adpUserantworttext.SelectCommand.Parameters.Add(selectParams[i]);
                }
            }

            DSUserantworttext dsResult = new DSUserantworttext();
            m_adpUserantworttext.Fill(dsResult, dsResult.userantworttext.TableName);
            m_cmSelect.Parameters.Clear();
            return dsResult;
        }
 public DSUserantworttext GetAntwortByID(int id)
 {
     SqlParameter pID = ParamUawtID;
     pID.Value = id;
     DataParameters parameter = new DataParameters();
     parameter.Add(pID);
     return Select(parameter);
 }
        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);
            }
        }
 public DSUmfragen GetUmfrageByID(int id)
 {
     SqlParameter pID = ParamUmfrageID;
     pID.Value = id;
     DataParameters parameter = new DataParameters();
     parameter.Add(pID);
     return Select(parameter);
 }
        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);

            }
        }
        /// <summary>
        /// Stellt ein DataSet aus der Tabelle benutzer zusammen, das den mit selectParams festgelegten
        /// Suchkriterien entspricht
        /// </summary>
        /// <param name="selectParams">Suchkriterien</param>
        /// <returns>ein DataSet vom Typ DSBenutzer das die gesuchten Datensätze enthält</returns>
        public DSBenutzer Select(DataParameters selectParams)
        {
            m_adpBenutzer.SelectCommand.CommandText = SQLCommandBuilder.MakeSelectString(selectParams, "benutzer");

            if (selectParams != null)
            {
                for(int i = 0; i < selectParams.Count; i++)
                {
                    m_adpBenutzer.SelectCommand.Parameters.Add(selectParams[i]);
                }
            }

            DSBenutzer dsResult = new DSBenutzer();
            m_adpBenutzer.Fill(dsResult, dsResult.benutzer.TableName);
            m_cmSelect.Parameters.Clear();
            return dsResult;
        }
 public DSBenutzer GetBenutzerByID(int id)
 {
     SqlParameter pID = ParamUserID;
     pID.Value = id;
     DataParameters parameter = new DataParameters();
     parameter.Add(pID);
     return Select(parameter);
 }
        /// <summary>
        /// Stellt ein DataSet aus der Tabelle umfragen zusammen, das den mit selectParams festgelegten
        /// Suchkriterien entspricht
        /// </summary>
        /// <param name="selectParams">Suchkriterien</param>
        /// <returns>ein DataSet vom Typ DSUmfragen das die gesuchten Datensätze enthält</returns>
        public DSUmfragen Select(DataParameters selectParams)
        {
            m_adpUmfragen.SelectCommand.CommandText = SQLCommandBuilder.MakeSelectString(selectParams, "umfragen");

            if (selectParams != null)
            {
                for(int i = 0; i < selectParams.Count; i++)
                {
                    m_adpUmfragen.SelectCommand.Parameters.Add(selectParams[i]);
                }
            }

            DSUmfragen dsResult = new DSUmfragen();
            m_adpUmfragen.Fill(dsResult, dsResult.umfragen.TableName);
            m_cmSelect.Parameters.Clear();
            return dsResult;
        }
 private void RefreshUmfragenListe()
 {
     // Umfragen des eingeloggten Benutzers abrufen:
     // Daten vorbereiten
     SqlParameter pUserID = DataAccessUmfragen.Paramr_userID;
     pUserID.Value = SessionContainer.ReadFromSession(this).User.UserID;
     DataParameters parameters = new DataParameters();
     parameters.Add(pUserID);
     DSUmfragen ds = m_daUmfragen.Select(parameters);
     // in der Checkboxliste darstellen
     m_chblUmfragenListe.DataSource = ds.umfragen;
     // den Titel der Umfrage neben der Checkbox anzeigen
     m_chblUmfragenListe.DataTextField = ds.umfragen.Columns["Titel"].ToString();
     // die UmfrageID als Value mitgeben, um zum Löschen oder Bearbeiten wieder an den Datensatz zu kommen
     m_chblUmfragenListe.DataValueField = ds.umfragen.Columns["UmfrageID"].ToString();
     m_chblUmfragenListe.DataBind();
     // wenn keine Datensätze gefunden wurden, sollen die Umfragenliste und die
     // dazugehörigen Buttons nicht sichtbar sein
     m_tblUmfragenListe.Visible = (ds.umfragen.Rows.Count > 0);
 }