Esempio n. 1
0
        public MenuItem(string name, string displayText, uint position, string url, string cssClass = "fa fa-circle-o", List <AuthorizeAttribute> microsoftAuthorizeAttributes = null)
        {
            Name        = name;
            Position    = position;
            Url         = url;
            DisplayText = displayText;
            CssClass    = cssClass;

            if (microsoftAuthorizeAttributes != null)
            {
                // Get the authorized roles and policies
                foreach (var attr in microsoftAuthorizeAttributes)
                {
                    if (!string.IsNullOrWhiteSpace(attr.Roles))
                    {
                        AnyRoles.AddRange(attr.Roles.Split(','));
                    }

                    if (!string.IsNullOrWhiteSpace(attr.Policy))
                    {
                        AllPolicies.Add(attr.Policy);
                    }
                }
            }
        }
Esempio n. 2
0
        //public static readonly Policy DefaultColonists = AllPolicies.DefaultIfEmpty(Unrestricted).FirstOrDefault((obj) => obj.assignablePawns.colonists && obj.targetDefault);
        //public static readonly Policy DefaultPrisoners = AllPolicies.DefaultIfEmpty(Unrestricted).FirstOrDefault((obj) => obj.assignablePawns.prisoners && obj.targetDefault);
        //public static readonly Policy DefaultAnimals = AllPolicies.DefaultIfEmpty(Unrestricted).FirstOrDefault((obj) => obj.assignablePawns.pets && obj.targetDefault);

        public static IEnumerable <Policy> GetAllPoliciesForPawn(Pawn pawn)
        {
            return(AllPolicies.Where((Policy arg) => arg.AdmitsPawn(pawn)));
        }