public DataTable Consultar_Id_USUARIO(D_Usuario ID)
        {
            DataTable Dtresultado = new DataTable();

            sqlconex = new SqlConnection();
            try
            {
                sqlconex.ConnectionString = Conexion.Conexion_bd;
                sqlcmd             = new SqlCommand();
                sqlcmd.Connection  = sqlconex;
                sqlcmd.CommandText = "USUARIO_ID";
                sqlcmd.CommandType = CommandType.StoredProcedure;

                SqlParameter parid = new SqlParameter();
                parid.ParameterName = "@id";
                parid.SqlDbType     = SqlDbType.Int;
                parid.Value         = ID.Codigo;
                sqlcmd.Parameters.Add(parid);

                SqlDataAdapter sqldate = new SqlDataAdapter(sqlcmd);
                sqldate.Fill(Dtresultado);
            }
            catch (Exception)
            {
                Dtresultado = null;
            }
            return(Dtresultado);
        }
        public string CAMBIO_ESTADO_USUARIO(D_Usuario estado)
        {
            sqlconex = new SqlConnection();
            try
            {
                sqlconex.ConnectionString = Conexion.Conexion_bd;
                sqlconex.Open();
                sqlcmd            = new SqlCommand();
                sqlcmd.Connection = sqlconex;

                sqlcmd.CommandText = "USUARIO_Cambio_Estado";
                sqlcmd.CommandType = CommandType.StoredProcedure;

                sqlcmd.Parameters.AddWithValue("@Codigo", estado.Codigo);
                sqlcmd.Parameters.AddWithValue("@Estado", estado.Estado);

                result = sqlcmd.ExecuteNonQuery() >= 1 ? "ok" : "No se cambio el estado";
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            finally
            {
                if (sqlconex.State == ConnectionState.Open)
                {
                    sqlconex.Close();
                }
            }
            return(result);
        }
        public string Eliminar_Rol(D_Usuario rol)
        {
            string resp = "";

            try
            {
                SqlCn = new SqlConnection();
                SqlCn.ConnectionString = Conexion.Conexion_bd;
                SqlCn.Open();

                Sqlcmd             = new SqlCommand();
                Sqlcmd.Connection  = SqlCn;
                Sqlcmd.CommandText = "USUARIO_Eliminar";
                Sqlcmd.CommandType = CommandType.StoredProcedure;

                Sqlcmd.Parameters.AddWithValue("@Codigo", rol.Codigo);

                resp = Sqlcmd.ExecuteNonQuery() >= 1 ? "ok" : "No se puede eliminar el rol";
            }
            catch (Exception ex)
            {
                resp = ex.Message;
            }
            finally
            {
                if (SqlCn.State == ConnectionState.Open)
                {
                    SqlCn.Close();
                }
            }
            return(resp);
        }
        public DataTable Login(D_Usuario usuario)
        {
            tablaResultados = new DataTable();
            SqlCn           = new SqlConnection();

            try
            {
                SqlCn.ConnectionString = Conexion.Conexion_bd;
                SqlCn.Open();

                SqlCommand Sqlcmd = new SqlCommand();
                Sqlcmd.Connection  = SqlCn;
                Sqlcmd.CommandText = "sp_Login";
                Sqlcmd.CommandType = CommandType.StoredProcedure;


                SqlParameter ParUsuario = new SqlParameter();
                ParUsuario.ParameterName = "@usuario";
                ParUsuario.SqlDbType     = SqlDbType.VarChar;
                ParUsuario.Size          = 50;
                ParUsuario.Value         = usuario.Usuario;
                Sqlcmd.Parameters.Add(ParUsuario);

                SqlParameter ParContra = new SqlParameter();
                ParContra.ParameterName = "@contra";
                ParContra.SqlDbType     = SqlDbType.VarChar;
                ParContra.Size          = 50;
                ParContra.Value         = usuario.Contraseña;
                Sqlcmd.Parameters.Add(ParContra);

                SqlDataAdapter Sqldat = new SqlDataAdapter(Sqlcmd);
                Sqldat.Fill(tablaResultados);
            }
            catch (Exception)
            {
                tablaResultados = null;
            }

            finally
            {
                if (SqlCn.State == ConnectionState.Open)
                {
                    SqlCn.Close();
                }
            }

            return(tablaResultados);
        }
        public string EDITAR_USUARIO(D_Usuario lista)
        {
            try
            {
                sqlconex = new SqlConnection();
                sqlcmd   = new SqlCommand();
                sqlconex.ConnectionString = Conexion.Conexion_bd;
                sqlconex.Open();
                sqltrans = sqlconex.BeginTransaction();

                sqlcmd.Connection  = sqlconex;
                sqlcmd.Transaction = sqltrans;
                sqlcmd.CommandText = "[USUARIOS_Editar]";
                sqlcmd.CommandType = CommandType.StoredProcedure;

                sqlcmd.Parameters.AddWithValue("@Codigo", lista.Codigo);
                sqlcmd.Parameters.AddWithValue("@Nombre", lista.Nombre);
                sqlcmd.Parameters.AddWithValue("@Observacion", lista.Observacion);

                sqlcmd.Parameters.AddWithValue("@Usuario", lista.Usuario);
                sqlcmd.Parameters.AddWithValue("@Contraseña", lista.Contraseña);
                result = sqlcmd.ExecuteNonQuery() >= 1 ? "OK" : "No se puede registrar";
                if (result.Equals("OK"))
                {
                    sqltrans.Commit();
                }
                else
                {
                    sqltrans.Rollback();
                }
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            finally
            {
                if (sqlconex.State == ConnectionState.Open)
                {
                    sqlconex.Close();
                }
            }
            return(result);
        }
        public int[] Privilegios_Botones(D_Usuario o)
        {
            string resp = "";

            int[] prueba3 = new int[60];
            try
            {
                SqlCn = new SqlConnection();
                SqlCn.ConnectionString = Conexion.Conexion_bd;
                SqlCn.Open();

                //string consulta = "select fun_rol.Cod_Funciones from ROL r inner join FUNCIONES_ROL_USUARIOS fun_rol on r.Cod_Rol=fun_rol.Cod_Rol where r.Cod_Rol=" + o.IdRol;
                string consulta = "select a.IdPermiso from USUARIO u inner join AsigancionPermiso a on a.IdUsuario=u.Codigo where u.Codigo=" + o.Codigo;

                Sqlcmd = new SqlCommand(consulta, SqlCn);

                SqlDataReader reader = Sqlcmd.ExecuteReader();

                List <int> resultado = new List <int>();
                while (reader.Read())
                {
                    resultado.Add(Convert.ToInt32(reader["IdPermiso"]));
                    prueba3 = (resultado.ToArray());
                }
                resp = Sqlcmd.ExecuteNonQuery() >= 1 ? "ok" : "no se ejecuto la consulta";
            }
            catch (Exception ex)
            {
                resp = ex.Message + "Metodo que produjo el error: " + ex.TargetSite;
            }
            finally
            {
                if (SqlCn.State == ConnectionState.Open)
                {
                    SqlCn.Close();
                }
            }
            return(prueba3);
        }