private Resource ToModel(Persistance.Models.Resource resource) { var identifier = CRN.FromValue(resource.CanonicalName); var actions = resource.Actions.Select(a => ResourceAction.FromValue(a.Action.CanonicalName)).ToArray(); return(Resource.FromIdentifier(identifier).WithActions(actions)); }
public void Add(Resource resource) { var actionNames = resource.ValidActions.Select(a => a.ToString()); var foundActions = this.context.Actions.Where(a => actionNames.Contains(a.CanonicalName)).ToList(); var toAdd = new Persistance.Models.Resource() { CanonicalName = resource.Identifier.ToString() }; var actions = foundActions.Select(a => new Persistance.Models.ResourceAction() { Resource = toAdd, Action = a }); this.context.Add(toAdd); this.context.AddRange(actions); this.context.SaveChanges(); }