Example #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            lblErrorFuncionalidad.Visible = false;
            lblErrorNombreRol.Visible     = false;

            if (tbNombreRol.Text == "")
            {
                lblErrorNombreRol.Visible = true;
            }
            else if (lbFuncionalidades.Items.Count == 0)
            {
                lblErrorFuncionalidad.Visible = true;
            }
            else
            {
                FuncionalityCollection fc = new FuncionalityCollection();
                foreach (string funcionalidad in lbFuncionalidades.Items)
                {
                    for (int i = 0; i < this._dsFuncionalidades.Tables[0].Rows.Count; i++)
                    {
                        if (((string)(this._dsFuncionalidades.Tables[0].Rows[i]["func_detalle"])) == funcionalidad)
                        {
                            fc.Add(new Funcionality {
                                Funcionalidades = ((decimal)(this._dsFuncionalidades.Tables[0].Rows[i]["func_codigo"]))
                            });
                        }
                    }
                }

                string rolExistente = string.Format("SELECT COUNT(*) FROM CAIA_UNLIMITED.Rol WHERE rol_nombre = '{0}'", tbNombreRol.Text.Trim());

                SqlConnection rolConnection = DataBase.conectarBD();
                SqlCommand    comm          = new SqlCommand(rolExistente, rolConnection);
                Int32         count         = Convert.ToInt32(comm.ExecuteScalar());
                rolConnection.Close();

                if (count > 0)
                {
                    MessageBox.Show("Ya existe un rol con el nombre indicado. Intente con otro nombre.");
                }
                else
                {
                    try{
                        SqlConnection rolCreateConnection = DataBase.conectarBD();
                        SqlCommand    insertCommand       = new SqlCommand("[CAIA_UNLIMITED].sp_CrearRol", rolCreateConnection);
                        insertCommand.CommandType = CommandType.StoredProcedure;
                        insertCommand.Parameters.AddWithValue("@nombre_rol", tbNombreRol.Text.Trim());
                        if (rbActivated.Checked)
                        {
                            insertCommand.Parameters.AddWithValue("@estado_rol", true);
                        }
                        else
                        {
                            insertCommand.Parameters.AddWithValue("@estado_rol", false);
                        }
                        SqlParameter tvpParam = insertCommand.Parameters.AddWithValue("@lista_Funcionalidades", fc);
                        tvpParam.SqlDbType = SqlDbType.Structured;
                        tvpParam.TypeName  = "[CAIA_UNLIMITED].FuncionalidadesList";
                        insertCommand.ExecuteNonQuery();
                        rolCreateConnection.Close();
                        string  roles   = "SELECT rol_codigo as Codigo, rol_nombre as Nombre, rol_estado as Estado FROM CAIA_UNLIMITED.Rol";
                        DataSet dsRoles = DataBase.realizarConsulta(roles);
                        dgvModificarRoles.DataSource         = dsRoles.Tables[0];
                        dgvModificarRoles.AllowUserToAddRows = false;
                        string  rolesHabilitados   = "SELECT rol_codigo as Codigo, rol_nombre as Nombre FROM CAIA_UNLIMITED.Rol WHERE rol_estado = 1";
                        DataSet dsRolesHabilitados = DataBase.realizarConsulta(rolesHabilitados);
                        dgvEliminarRoles.DataSource         = dsRolesHabilitados.Tables[0];
                        dgvEliminarRoles.AllowUserToAddRows = false;
                        MessageBox.Show("Rol creado exitosamente!");
                    }
                    catch (Exception errorDB)
                    {
                        MessageBox.Show(errorDB.Message);
                    }
                }
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            lblErrorFuncionalidad.Visible = false;
            lblErrorNombreRol.Visible     = false;

            if (txbRolNombre.Text == "")
            {
                lblErrorNombreRol.Visible = true;
            }
            else if (listBoxFuncionalidades.Items.Count == 0)
            {
                lblErrorFuncionalidad.Visible = true;
            }
            else
            {
                FuncionalityCollection fc = new FuncionalityCollection();
                foreach (string funcionalidad in listBoxFuncionalidades.Items)
                {
                    for (int i = 0; i < _dsFuncionalidades.Tables[0].Rows.Count; i++)
                    {
                        if (((string)(_dsFuncionalidades.Tables[0].Rows[i]["func_detalle"])) == funcionalidad)
                        {
                            fc.Add(new Funcionality {
                                Funcionalidades = ((decimal)(_dsFuncionalidades.Tables[0].Rows[i]["func_codigo"]))
                            });
                        }
                    }
                }

                try
                {
                    string        rolCodigo           = string.Format("SELECT rol_codigo FROM CAIA_UNLIMITED.Rol WHERE rol_nombre = '{0}'", this._nombreRol);
                    DataSet       dsRolCodigo         = DataBase.realizarConsulta(rolCodigo);
                    SqlConnection rolCreateConnection = DataBase.conectarBD();
                    SqlCommand    insertCommand       = new SqlCommand("[CAIA_UNLIMITED].sp_ModificarRol", rolCreateConnection);
                    insertCommand.CommandType = CommandType.StoredProcedure;
                    insertCommand.Parameters.AddWithValue("@codigo_rol", (decimal)(dsRolCodigo.Tables[0].Rows[0]["rol_codigo"]));
                    insertCommand.Parameters.AddWithValue("@nombre_rol", txbRolNombre.Text.Trim());
                    if (rbActivated.Checked)
                    {
                        insertCommand.Parameters.AddWithValue("@estado_rol", true);
                    }
                    else
                    {
                        insertCommand.Parameters.AddWithValue("@estado_rol", false);
                    }
                    SqlParameter tvpParam = insertCommand.Parameters.AddWithValue("@lista_Funcionalidades", fc);
                    tvpParam.SqlDbType = SqlDbType.Structured;
                    tvpParam.TypeName  = "[CAIA_UNLIMITED].FuncionalidadesList";
                    insertCommand.ExecuteNonQuery();
                    rolCreateConnection.Close();
                    MessageBox.Show("Rol modificado exitosamente!");

                    if (this.noEsMiRol)
                    {
                        this.Hide();
                        new VistaRol(this.hoteidMio, this.codRolMio, this.usernameMio).Show();
                    }
                    else
                    {
                        this.Hide();
                        new Usuario().Show();
                    }
                }
                catch (Exception errorDB)
                {
                    MessageBox.Show(errorDB.Message);
                }
            }
        }