Talk:Edit Existing Synthesis Resources/Notes: Difference between revisions

From ReliaWiki
Jump to navigation Jump to search
(Created page with '{{Template:API}} In the previous tutorial, you learned how to write data to a Synthesis repository; specifically, how to create n…')
 
(Replaced content with '==DRAFT==')
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:API}}
==DRAFT==
 
In the [[Add_New_Synthesis_Resources_to_a_Repository|previous tutorial]], you learned how to write data to a Synthesis repository; specifically, how to create new Synthesis resources (e.g., models, actions, URDs, etc.) and save them to a database. In this tutorial, you'll learn how to retrieving an existing Synthesis resource from a database and then overwrite existing data about the resource with new information.
 
You'll use a model resource to work with the example. A similar approach can be used when working with other types of Synthesis resources.
 
==Prerequisites==
Before you begin:
 
*Create a model in a test repository via the Resource Manager ('''Project > Synthesis> Resource Manager'''). Do not use published models for this tutorial (i.e., model resources that have been published from and are associated with an existing analysis/data source). Published models are read-only and therefore cannot be used to demonstrate the goals of this tutorial.
 
*Display the object IDs in the Synthesis application, so you can obtain the model's ID number and trace the response from the API (Choose '''File > Application Setup'''. Then click '''Other''' under the Synthesis Settings heading in the navigation panel. Select the check box for '''Display Object IDs'''.)
 
 
==Tutorial: Edit an Existing Synthesis Resource==
The following example demonstrates how to retrieve a Synthesis resource from a repository and overwrite existing data about the resource with new information. A discussion of the example follows.
 
A VBA version of the code sample is available [[Edit_Existing_Synthesis_Resources/VBA|here]].
 
'''VB.NET'''
{{APIPrefix|Imports}} SynthesisAPI
{{APIPrefix|Public Module}} Module1
    {{APIPrefix|Sub}} Main()
 
  {{APIComment|'Connect to a Synthesis repository and project.}}
    {{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository
    MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}}){{APIComment|'Replace with name and path to test repository.}}
    MyRepository.Project.SetCurrentProject(1){{APIComment|'Replace with the object ID of test project.}}
 
  {{APIComment|'Retrieve a model from the repository.}}
    {{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel
    AModel = MyRepository.Model.GetModel(21){{APIComment|'Replace with the object ID of test model.}}
  {{APIComment|'Edit the model's name, description and part number.}}
    Amodel.Name = {{APIString|"MyNewModel_Updated"}}
    Amodel.ItemDescription = {{APIString|"A specific type of light bulb."}}
    Amodel.ItemPartNumber = {{APIString|"PN5461"}} 
  {{APIComment|'Send the changes to the Synthesis repository.}}
    MyRepository.Model.UpdateModel(AModel)
    {{APIPrefix|End Sub}}
{{APIPrefix|End Module}}
 
 
================
Create a new module and begin by connecting to a Synthesis repository and project. The following code assumes that a standard repository called "RSRepository1.rsr10" exists in the C drive.
 
{{APIComment|'Connect to the Synthesis repository and set project ID#1 as the current project.}}
  {{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository
  MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}})
  MyRepository.Project.SetCurrentProject(1)
 
2. Retrieve a model from the repository. Use the <code>GetModel</code> method to retrieve the model. The following code assumes that the repository contains a model with ID number 21.
 
'''VBA'''
{{APIComment|'Retrieve the model with ID# 21 from the repository.}}
  {{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel
  {{APIPrefix|Set}} AModel = MyRepository.Model.GetModel(21)
 
'''VB.NET'''
{{APIComment|'Retrieve the model with ID# 21 from the repository.}}
  {{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel
  AModel = MyRepository.Model.GetModel(21)
 
3. Edit the model's properties. For example, let's edit the model's name, description and part number, as shown in the following code.
 
  {{APIComment|'Edit the model's name, description and part number.}}
  Amodel.Name = {{APIString|"MyNewModel_Updated"}}
  Amodel.ItemDescription = {{APIString|"A specific type of light bulb."}}
  Amodel.ItemPartNumber = {{APIString|"PN5461"}} 
 
4. Use the <code>UpdateModel</code> method to apply the changes to the model.
 
'''VBA'''
{{APIComment|'Apply the changes to the model.}}
  {{APIPrefix|Call}} MyRepository.Model.UpdateModel(AModel)
 
'''VB.NET'''
 
{{APIComment|'Apply the changes to the model.}}
  MyRepository.Model.UpdateModel(AModel)
 
===Test the Code===
Below are the complete code lists for this example. To test them, run the application by clicking '''Start''' on the Debug menu. Then verify that the model's properties have been updated by checking the Resource Manager. (You may need to display the '''Description''' and '''Part Number''' columns of the Resource Manager by right-clicking a column header and choosing '''Select Columns'''.)
 
'''VBA'''
Sub Main()
{{APIComment|'Connect to the Synthesis repository and set project ID#1 as the current project.}}
  {{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository
  MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}})
  MyRepository.Project.SetCurrentProject(1)
{{APIComment|'Retrieve the model with ID# 21 from the repository.}}
  {{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel
  {{APIPrefix|Set}} AModel = MyRepository.Model.GetModel(21)
  {{APIComment|'Edit the model's name, description and part number.}}
  Amodel.Name = {{APIString|"MyNewModel_Updated"}}
  Amodel.ItemDescription = {{APIString|"A specific type of light bulb."}}
  Amodel.ItemPartNumber = {{APIString|"PN5461"}} 
 
{{APIComment|'Apply the changes to the model.}}
  {{APIPrefix|Call}} MyRepository.Model.UpdateModel(AModel)
End Sub
 
'''VB.NET'''
{{APIPrefix|Imports}} SynthesisAPI
{{APIPrefix|Public Class}} Form1
    {{APIPrefix|Private Sub}} Button1_Click(sender {{APIPrefix|As}} System.Object, e {{APIPrefix|As}} System.EventArgs) {{APIPrefix|Handles}} Button1.Click
 
  {{APIComment|'Connect to the Synthesis repository and set project ID#1 as the current project.}}
    {{APIPrefix|Dim}} MyRepository {{APIPrefix|As New}} Repository
    MyRepository.ConnectToRepository({{APIString|"C:\RSRepository1.rsr10"}})
    MyRepository.Project.SetCurrentProject(1)
 
  {{APIComment|'Retrieve the model with ID# 21 from the repository.}}
    {{APIPrefix|Dim}} Amodel {{APIPrefix|As New}} cModel
    AModel = MyRepository.Model.GetModel(21)
  {{APIComment|'Edit the model's name, description and part number.}}
    Amodel.Name = {{APIString|"MyNewModel_Updated"}}
    Amodel.ItemDescription = {{APIString|"A specific type of light bulb."}}
    Amodel.ItemPartNumber = {{APIString|"PN5461"}} 
  {{APIComment|'Apply the changes to the model.}}
    MyRepository.Model.UpdateModel(AModel)
    {{APIPrefix|End Sub}}
{{APIPrefix|End Class}}
 
===Notes===
You can use a similar approach to update the properties of other types of Synthesis repositories. For example, to update the properties of an existing URD, you would use the <code>[[Repository.URD.GetURD]]</code> method to retrieve the URD from the repository, and then use the <code>[[Repository.URD.UpdateURD]]</code> method to apply the changes.
 
===References===
To learn more, see the reference documentation for the methods discussed in this tutorial:
 
*[[Repository.Model.GetModel|Repository.Model.GetModel Method]]
*[[Repository.Model.UpdateModel|Repository.Model.UpdateModel Method]]
 
 
 
 
 
'''<span style="color:#808080;">Next: [[Calculate Results from a Model|Calculate Results from a Model >>]]</span>'''

Latest revision as of 22:51, 27 April 2016

DRAFT