示例#1
0
        private void obtenerRol()
        {
            //Rol rol = null;
            SqlConnection conexion = ConexionSQLS.getConeccion();

            try
            {
                SqlCommand consulta = new SqlCommand("SELECT USER_ROL FROM ICE_CUBES.USUARIO WHERE USERID = @usuario", conexion);
                consulta.Parameters.AddWithValue("@usuario", this.nombreUsuario);
                conexion.Open();
                Int32 cod_rol = Convert.ToInt32(consulta.ExecuteScalar());

                SqlCommand consulta2 = new SqlCommand("SELECT ROL_ID,ROL_DESCRIPCION,ROL_ESTADO FROM ICE_CUBES.ROL WHERE ROL_ID=@codRol", conexion);
                consulta2.Parameters.AddWithValue("@codRol", cod_rol);
                SqlDataReader rolesResultados = consulta2.ExecuteReader();

                while (rolesResultados.Read())
                {
                    this.usuarioRol = new Rol(rolesResultados.GetDecimal(0), rolesResultados.GetBoolean(2), rolesResultados.GetString(1));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conexion.Close();
            }
            //return rol;
        }
示例#2
0
        public void darDeAltaRol(string rolDescripcion, decimal idFuncionalidad)
        {
            SqlConnection conexion = ConexionSQLS.getConeccion();

            try
            {
                SqlCommand cmd = new SqlCommand("ICE_CUBES.SP_INGRESAR_ROL", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter variableRetorno = new SqlParameter("@resultado", SqlDbType.Int);
                variableRetorno.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(variableRetorno);
                cmd.Parameters.Add(new SqlParameter("@nombreRol", rolDescripcion));
                cmd.Parameters.Add(new SqlParameter("@idFuncionalidad", idFuncionalidad));
                conexion.Open();
                cmd.ExecuteNonQuery();
                int resultado = (int)cmd.Parameters["@resultado"].Value;
                conexion.Close();

                if (resultado != 0)
                {
                    RolId          = resultado;
                    RolDescripcion = rolDescripcion;
                    MessageBox.Show("El rol ha sido cargado satisfactoriamente en la base de datos.");
                }
                else
                {
                    MessageBox.Show("El rol ya cuenta con la funcionalidad seleccionada.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#3
0
        public void eliminarRol(Rol unRol)
        {
            SqlConnection conexion = ConexionSQLS.getConeccion();

            conexion.Open();
            SqlTransaction transaction           = conexion.BeginTransaction();
            SqlCommand     borrarFuncionalidades = new SqlCommand("DELETE FROM ICE_CUBES.ROL_FUNCIONALIDAD WHERE ID_ROL = @idRol", conexion, transaction);

            borrarFuncionalidades.Parameters.AddWithValue("@idRol", unRol.RolId);
            try
            {
                borrarFuncionalidades.ExecuteNonQuery();
                SqlCommand comando = new SqlCommand("UPDATE ICE_CUBES.ROL SET ROL_ESTADO = 0 WHERE ROL_ID = @idRol", conexion, transaction);
                comando.Parameters.AddWithValue("@idRol", unRol.RolId);
                comando.ExecuteNonQuery();
                transaction.Commit();
                conexion.Close();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                conexion.Close();
                throw ex;
            }
        }
示例#4
0
        public List <Funcionalidad> traerFuncionalidades()
        {
            List <Funcionalidad> funcionalidades = new List <Funcionalidad>();
            SqlConnection        conexion        = ConexionSQLS.getConeccion();

            try
            {
                SqlCommand consulta = new SqlCommand("SELECT * FROM ICE_CUBES.FUNCIONALIDAD;", conexion);
                conexion.Open();
                SqlDataReader funcResultados = consulta.ExecuteReader();
                while (funcResultados.Read())
                {
                    funcionalidades.Add(new Funcionalidad(funcResultados.GetDecimal(0), funcResultados.GetString(1)));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conexion.Close();
            }
            return(funcionalidades);
        }
示例#5
0
        public List <Rol> traerRoles()
        {
            SqlConnection conexion = ConexionSQLS.getConeccion();
            List <Rol>    roles    = new List <Rol>();

            try
            {
                SqlCommand cmd = new SqlCommand("SELECT * FROM ICE_CUBES.ROL", conexion);
                conexion.Open();
                SqlDataReader result = cmd.ExecuteReader();
                while (result.Read())
                {
                    roles.Add(new Rol(result.GetDecimal(0), result.GetString(1), result.GetBoolean(2), this.traerFuncionalidadesByRol(result.GetDecimal(0))));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conexion.Close();
            }
            return(roles);
        }
示例#6
0
        private List <Funcionalidad> traerFuncionalidadesByRol(decimal idRol)
        {
            List <Funcionalidad> funcionalidades = new List <Funcionalidad>();
            SqlConnection        conexion        = ConexionSQLS.getConeccion();

            try
            {
                SqlCommand consulta = new SqlCommand("SELECT f.FUNCION_ID, f.FUNCION_NOMBRE FROM ICE_CUBES.FUNCIONALIDAD f, ICE_CUBES.ROL_FUNCIONALIDAD rf WHERE rf.ID_ROL = @idRol AND f.FUNCION_ID = rf.ID_FUNCIONALIDAD", conexion);
                consulta.Parameters.AddWithValue("@idRol", idRol);
                conexion.Open();
                SqlDataReader funcResultados = consulta.ExecuteReader();
                while (funcResultados.Read())
                {
                    funcionalidades.Add(new Funcionalidad(funcResultados.GetDecimal(0), funcResultados.GetString(1)));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conexion.Close();
            }
            return(funcionalidades);
        }
示例#7
0
        public string logueate()
        {
            try
            {
                SqlConnection conexion = ConexionSQLS.getConeccion();
                SqlCommand    cmd      = new SqlCommand("ICE_CUBES.SP_INGRESAR_USUARIO", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                // instancio parametro de salida
                SqlParameter VariableRetorno = new SqlParameter("@resultado", SqlDbType.Int);
                VariableRetorno.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(VariableRetorno);
                cmd.Parameters.Add(new SqlParameter("@usuario", this.nombreUsuario));
                cmd.Parameters.Add(new SqlParameter("@password", this.passUsuario));
                conexion.Open();
                cmd.ExecuteNonQuery(); // aca se abre la conexion y se ejecuta el SP de login
                int resultado = (int)cmd.Parameters["@resultado"].Value;
                conexion.Close();
                switch (resultado)
                {
                case 0:
                    return("USUARIO INHABILITADO.");

                case 1:

                    this.obtenerRol();

                    return("Ingreso Correcto");

                case 2:
                    return("Login FALLIDO. Al tercer intento fallido se inhabilita la Cuenta!");

                case 3:
                    return("NO EXISTE EL USUARIO");

                default:
                    return("error Desconocido");
                }
            }
            catch (SqlException ex)
            {
                string errorsql = "SQL Error" + ex.Message.ToString();

                return(errorsql);
            }
            //finally
            //{

            //}
        }
示例#8
0
        public void actualizarRol(Rol nuevoRol, Rol viejoRol)
        {
            SqlConnection conexion = ConexionSQLS.getConeccion();

            conexion.Open();
            SqlTransaction transaction           = conexion.BeginTransaction();
            SqlCommand     comando2              = new SqlCommand("", conexion, transaction);
            SqlCommand     borrarFuncionalidades = new SqlCommand("DELETE FROM ICE_CUBES.ROL_FUNCIONALIDAD WHERE ID_ROL = @idRol", conexion, transaction);

            borrarFuncionalidades.Parameters.AddWithValue("@idRol", viejoRol.RolId);
            try
            {
                borrarFuncionalidades.ExecuteNonQuery();
                SqlCommand comando = new SqlCommand("UPDATE ICE_CUBES.ROL SET ROL_DESCRIPCION = @desc, ROL_ESTADO = @estado WHERE ROL_ID = @idRol", conexion, transaction);
                comando.Parameters.AddWithValue("@idRol", viejoRol.RolId);
                comando.Parameters.AddWithValue("@desc", viejoRol.RolDescripcion);
                comando.Parameters.AddWithValue("@estado", viejoRol.Estado);
                comando.ExecuteNonQuery();

                comando2.Parameters.AddWithValue("@idRol", viejoRol.RolId);
                int i = 0;
                foreach (Funcionalidad func in nuevoRol.Funcionalidades)
                {
                    comando2.CommandText = "INSERT INTO ICE_CUBES.ROL_FUNCIONALIDAD (ID_ROL,ID_FUNCIONALIDAD) VALUES (@idRol,@idFunc" + i + ")";
                    comando2.Parameters.AddWithValue("@idFunc" + i, func.IdFuncionalidad);
                    comando2.ExecuteNonQuery();
                    i++;
                }
                transaction.Commit();
                conexion.Close();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                conexion.Close();
                throw ex;
            }
        }