예제 #1
0
    protected void InsertSection(object sender, EventArgs e)
    {
        int          pos     = 0;
        string       idArg   = ddl3.SelectedItem.Value;
        DbController control = new DbController(connectionString);

        QueryParameter[] parameters = new QueryParameter[4];
        parameters[0] = new QueryParameter("nome", tb1.Text, SqlDbType.VarChar);
        parameters[1] = new QueryParameter("code", CKEditor1.Text, SqlDbType.VarChar);
        parameters[2] = new QueryParameter("id", idArg, SqlDbType.Int);

        if (cb.Checked)
        {
            SqlDataReader reader = control.Read("SELECT TOP 1 Posizione FROM Sezione WHERE IdArgomento=@idA ORDER BY Posizione DESC", new QueryParameter[] { new QueryParameter("idA", idArg, SqlDbType.Int) });
            pos = 0;
            if (reader.Read())
            {
                pos = (int)reader["Posizione"] + 1;
            }
            parameters[3] = new QueryParameter("pos", pos, SqlDbType.Int);
            reader.Close();
            control.Write("INSERT INTO Sezione (Nome,HtmlCode, IdArgomento, Posizione) VALUES (@nome, @code, @id, @pos)", parameters);
        }
        else
        {
            pos           = int.Parse(tb2.Text);
            parameters[3] = new QueryParameter("pos", pos, SqlDbType.Int);
            control.Write("UPDATE Sezione SET Posizione += 1 WHERE Posizione >= @pos", new QueryParameter[] { new QueryParameter("pos", pos, SqlDbType.Int) });
            control.Write("INSERT INTO Sezione (Nome,HtmlCode, IdArgomento, Posizione) VALUES (@nome, @code, @id, @pos)", parameters);
        }
        control.Close();
        CKEditor1.Text = "";
        tb1.Text       = "";
        tb2.Text       = "";
        populateGroup(ddl1, ddl2, ddl3, ddl4);
    }