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 31 (2147483647)!!! 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 CustomerLimited = 2048, ///ClientFull CustomerFull = 4096, ///OpsAdminLimited OpsAdminLimited = 8192, ///OpsAdminFull OpsAdminFull = 16384, ///SalesFull SalesFull = 32768, ///SalesLimited SalesLimited = 65536, ///Anyone of any role All = BizAdminLimited | BizAdminFull | DispatchLimited | DispatchFull | InventoryLimited | InventoryFull | AccountingFull | TechLimited | TechFull | SubContractorLimited | SubContractorFull | CustomerLimited | CustomerFull | OpsAdminLimited | OpsAdminFull | SalesFull | SalesLimited, ///Anyone inside company AllInternalStaff = BizAdminLimited | BizAdminFull | DispatchLimited | DispatchFull | InventoryLimited | InventoryFull | AccountingFull | TechLimited | TechFull | OpsAdminLimited | OpsAdminFull | SalesFull | SalesLimited, ///Anyone except customers AllExceptCustomers = BizAdminLimited | BizAdminFull | DispatchLimited | DispatchFull | InventoryLimited | InventoryFull | AccountingFull | TechLimited | TechFull | SubContractorLimited | SubContractorFull | OpsAdminLimited | OpsAdminFull | SalesFull | SalesLimited }//end AuthorizationRoles //, 65536, 131072, 262144, 524288, 1,048,576 }//end namespace GZTW.AyaNova.BLL