public void Add(RootResource resource, List <JObject> rawDataList) { List <SeedData> seedDataList = rawDataList.Select(o => new SeedData(o, ToSeedRecord(resource.Class, o))).ToList(); Data[resource.Class.Id] = seedDataList; PushSeedDataToNestedResources(resource); PushSeedDataToProperties(resource.Class); }
private void CreateOneToManyRelation(RootResource resource, Property property) { var rootResource = RootResources.First(r => r.Class == property.Class); var nestedResource = resource.OneToMany(property); nestedResource.IsReadonly = true; nestedResource.RootResource = rootResource; rootResource.AlternateResources.Add(nestedResource); }
public void AddRootResource(ClassModel c) { var resource = new RootResource(); resource.Name = c.Name; resource.Class = c; resource.DataModel = DataModel; RootResources.Add(resource); }
internal void PushSeedDataToNestedResources(RootResource resource) { foreach (var nestedResource in resource.NestedResources) { foreach (var item in Data[resource.Class.Id].ToList()) { if (SplitData(item, nestedResource)) { if (nestedResource.RootResource != null) { PushSeedDataToNestedResources(nestedResource.RootResource); } PushSeedDataToProperties(nestedResource.Class); } } } }
private void CreateManyToManyRelation(RootResource resource, Property property) { var rootResource = RootResources.First(r => r.Class == property.Class); string pivotName; if (resource.Class == property.Class || string.Compare(resource.Class.Name, property.Noun, StringComparison.InvariantCulture) < 0) { pivotName = $"{resource.Class.Name}{property.Noun}"; } else { pivotName = $"{property.Noun}{resource.Class.Name}"; } var nestedResource = resource.ManyToMany(property, pivotName); nestedResource.Name = property.Name.Substring(0, property.Name.Length - 1); nestedResource.Name.Plural = property.Name; nestedResource.RootResource = rootResource; rootResource.AlternateResources.Add(nestedResource); }