Exemple #1
0
        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;
                          });
        }
Exemple #2
0
 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;
 }
Exemple #3
0
        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;
                          });
        }