using System;
namespace AyaNova.Biz
{
///
/// Authorization roles
///
[Flags]
public enum AuthorizationRoles : int
{
//https://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c
//MAX 32!!! or will overflow int and needs to be turned into a long
//Must be a power of two: https://en.wikipedia.org/wiki/Power_of_two
///No role set
NoRole = 0,
///BizAdminLimited
BizAdminLimited = 1,
///BizAdminFull
BizAdminFull = 2,
///DispatchLimited
DispatchLimited = 4,
///DispatchFull
DispatchFull = 8,
///InventoryLimited
InventoryLimited = 16,
///InventoryFull
InventoryFull = 32,
///AccountingFull
AccountingFull = 64,//No limited role, not sure if there is a need
///TechLimited
TechLimited = 128,
///TechFull
TechFull = 256,
///SubContractorLimited
SubContractorLimited = 512,
///SubContractorFull
SubContractorFull = 1024,
///ClientLimited
ClientLimited = 2048,
///ClientFull
ClientFull = 4096,
///OpsAdminLimited
OpsAdminLimited = 8192,
///OpsAdminFull
OpsAdminFull = 16384,
///Anyone of any role
AnyRole = BizAdminLimited | BizAdminFull | DispatchLimited | DispatchFull | InventoryLimited |
InventoryFull | AccountingFull | TechLimited | TechFull | SubContractorLimited |
SubContractorFull | ClientLimited | ClientFull | OpsAdminLimited | OpsAdminFull
}//end AuthorizationRoles
}//end namespace GZTW.AyaNova.BLL