Pregunta

En nuestra base de datos tenemos una maestría que representa qué tipos de acciones puede hacer un usuario.

En nuestro cliente C#, cuando recuperamos este valor entero de la base de datos, construimos un enum/indicador. Se parece un poco a lo siguiente:

[Flags]
public enum SellPermissions
{
    Undefined = 0,
    Buy = 1,
    Sell = 2,
    SellOpen = 4,
    SellClose = 8
    // ...
}

En nuestra aplicación tengo una página de permisos de edición que luego uso para modificar el valor de este enum utilizando el bitwise o en diferentes valores de enum.

permissions = SellPermisions.Buy | SellPermissions.Sell;

Ahora, después de que se realizan estos cambios, en mi llamada de base de datos necesito llamar a un SPROC de actualización/inserción que espera un valor entero.

¿Cómo obtengo el valor entero bit a bit a mi enum/indicador para poder establecer los permisos modificados en la base de datos?

¿Fue útil?

Solución

Pude hacerlo lanzando la variable a un int.

int newPermissions = (int)permissions.

Otros consejos

int permissionsValue = (int) permissions;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top