public void Modify1NLink() { AstoriaTestLog.WriteLine("Modify1NLink"); QueryResourceTypesByAssociationsForUpdate(Multiplicity.One, Multiplicity.Many, false, true, true, delegate(ResourceContainer sourceContainer, ResourceType sourceResourceType, ResourceContainer destinationContainer, ResourceType destinationType) { // ResourceType source = sourceResourceType.AssociationsOneToMany.First.Source.ResourceType; if (!sourceContainer.ResourceTypes.Contains(source)) { //Do this if the source and target come out reversed ResourceContainer temp = sourceContainer; sourceContainer = destinationContainer; destinationContainer = temp; ResourceType resTemp = sourceResourceType; sourceResourceType = destinationType; destinationType = resTemp; } AstoriaTestLog.WriteLine("Source : {0} , Target :{1}", sourceContainer.Name, destinationContainer.Name); ModelEngine engine = new ModelEngine(); LinkModel model = new LinkModel(sourceContainer, sourceResourceType, destinationContainer, destinationType, sourceResourceType.GetAssociation(destinationType), sourceContainer.Workspace, null ); model.Context = this.Context; model.RunningUnderScenarioModel = true; model.TargetMultiplicity = Multiplicity.One; engine.Models.Add(model); engine.Options.Timeout = Timeout; engine.Run(); return false; }); }
public LinkModel(ResourceContainer sourceContainer, ResourceType sourceType, ResourceContainer targetContainer, ResourceType targetType, string associationName, Workspace workspace, LinkModel parent) : base(parent) { this.SourceContainer = sourceContainer; this.SourceResourceType = sourceType; this.TargetContainer = targetContainer; this.TargetResourceType = targetType; this.workSpace = workspace; this.AssociationName = associationName; }
public void Modify11Link() { AstoriaTestLog.WriteLine("Modify11Link"); QueryResourceTypesByAssociationsForUpdate(Multiplicity.One, Multiplicity.One, false, true, true, delegate(ResourceContainer sourceContainer, ResourceType sourceResourceType, ResourceContainer destinationContainer, ResourceType destinationType) { AstoriaTestLog.WriteLine("Source : {0} , Target :{1}", sourceContainer.Name, destinationContainer.Name); ModelEngine engine = new ModelEngine(); LinkModel model = new LinkModel(sourceContainer, sourceResourceType, destinationContainer, destinationType, sourceResourceType.GetAssociation(destinationType), sourceContainer.Workspace, null ); model.RunningUnderScenarioModel = true; model.Context = this.Context; model.TargetMultiplicity = Multiplicity.Many; engine.Models.Add(model); engine.Options.Timeout = Timeout; engine.Run(); return false; }); }