コード例 #1
0
        public void AddPolicy(DataProviderPolicy policy)
        {
            var provider = this.context.DataProviders.FirstOrDefault(p => p.CanonicalName == policy.Provider.ToString());
            var schema   = this.context.Schemas.FirstOrDefault(s => s.CanonicalName == policy.Schema.ToString());

            if (provider == null)
            {
                return;
            }
            if (schema == null)
            {
                return;
            }

            var toAdd = new Persistance.Models.DataProviderPolicy()
            {
                DataProviderId = provider.DataProviderId,
                SchemaId       = schema.SchemaId
            };

            this.context.Add(toAdd);

            var rules = policy.Rule.Select(r => new Persistance.Models.DataProviderPolicyItem()
            {
                Policy    = toAdd,
                Principal = this.context.Principals.FirstOrDefault(p => p.CanonicalName == r.Principal.ToString())
            });

            this.context.AddRange(rules);

            this.context.SaveChanges();
        }
コード例 #2
0
 public void AddPolicy(DataProviderPolicy policy) => this.policies.Add(policy);