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(); }
public void AddPolicy(DataProviderPolicy policy) => this.policies.Add(policy);