Repository Class: Difference between revisions

From ReliaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 70: Line 70:


''' Control '''  
''' Control '''  
*[[Repository.GetAllXfmeaControlsDictionary|GetAllXfmeaControlsDictionary]]{{APIComment|Returns the dictionary of all Xfmea controls in the current project. The keys are the IDs of the controls.}} [[#Notes|*]]
*[[Repository.GetAllXfmeaControlsDictionary|GetAllXfmeaControlsDictionary]]{{APIComment|Returns a dictionary of all Xfmea controls in the current project.}} [[#Notes|*]]
*[[Repository.AddAction|AddAction(cAction)]] {{APIComment|{{Template:Repository.AddAction.Cmt}}}}
*[[Repository.GetAllXfmeaControls|GetAllXfmeaControlsDictionary]]{{APIComment|Returns an array of all Xfmea controls in the current project.}} [[#Notes|*]]
*[[Repository.UpdateAction|UpdateAction(cAction)]] {{APIComment|{{Template:Repository.UpdateAction.Cmt}}}}
*[[Repository.AddXfmeaControl|AddXfmeaControl]] {{APIComment|Adds a new XfmeaControl in the repository.}} [[#Notes|*]]
*[[Repository.GetAction|GetAction(Integer)]] {{APIComment|Returns action with the provided ID. Returns nothing if the action doesn't exist.}} [[#Notes|*]]
*[[Repository.UpdateXfmeaControl|UpdateXfmeaControl]] {{APIComment|Updates XfmeaControl in the repository.}} [[#Notes|*]]
*[[Repository.GetXfmeaControl|GetXfmeaControl]] {{APIComment|Returns XfmeaControl with the provided ID.}} [[#Notes|*]]


''' BlockSim '''  
''' BlockSim '''  

Revision as of 16:32, 20 May 2015


This is a class that allows you to access a Synthesis repository. The class has following sections containing methods and properties that allow you to read, create and edit various objects in the repository. See Example at the bottom of this page. Also see the important note for version 9 users.

Repository

Project

Unit

  • GetAllUnits Returns an array containing all units of measurement from the current repository.

Model

  • GetAllModelsInfo Returns an array containing all model names and their IDs from the current project.
  • GetAllModels Returns an array containing all models from the current project.
  • AddModel( cModel ) Saves a new model in the repository.
  • UpdateModel( cModel ) Updates the model in the repository.
  • GetModel( Integer ) Returns the model from the current project with the specified ID. Returns nothing if the model does not exist or is not in the current project. *
  • IsModelUsed(Integer) Checks if the model is currently in use by other items. *
  • DeleteModel(Integer) Checks if the model is not in use and deletes the model. Returns true if success, false otherwise. Throws an exception if the model is in use. *

URD

Variable

Task

Crew

Pool

  • GetAllPools Returns an array containing all spare parts pools from the current project.
  • AddPool(cPool) Saves the spare parts pool in the repository.
  • UpdatePool(cPool) Updates the spare parts pool in the repository.
  • GetPool (cPool) Returns pool with the provided ID. Returns nothing if the pool doesn't exist. *

Action

Control

BlockSim

DataWarehouse

XFRACAS

Xfmea

Usage Example

In this usage example, the API is used to connect to a repository, retrieve one of the models in it and then calculate the reliability at a specified time, based on that model.

 'Declare a new repository connection object. 
 Dim MyRepository As New Repository
 
 'Connect to a Synthesis repository. 
 Dim Success As Boolean = False
 Success = MyRepository.ConnectToRepository("C:\Users\Name\Documents\ReliaSoft\Files\repository.rsr10")
 
 'Get a list of the names/IDs of projects in the connected repository. 
 Dim ListOfProjects() As NameIdPair
 ListOfProjects = MyRepository.Project.GetAllProjects()
 
 'Open the first project in the list. 
 MyRepository.Project.SetCurrentProject(ListOfProjects(0).ID)
 
 'Get a list of the names/IDs of models in the current project. 
 Dim ListOfModels() As NameIdPair
 ListOfModels = MyRepository.Model.GetAllModelsInfo()
 
 'Retrieve the first model in the list. 
 Dim AModel As cModel
 AModel = MyRepository.Model.GetModel(ListOfModels(0).ID)
 
 'Calculate the reliability at time = 50 and save the result. See Reliability. 
 Dim Rel As Double
 Rel = AModel.Reliability(50)
 
 'Disconnect from the repository. 
 MyRepository.DisconnectFromRepository()

Notes

  • Important: If you have upgraded from version 9 and have existing code written using Synthesis API version 9, you should modify your code. In version 9, all methods existed in the Repository class, in version 10 they were moved in sections, according to the object type they apply to. For instance, Repository.GetAllModels is now Repository.Model.GetAllModels; Repository.ImportBlockSimXMLFile is now Repository.BlockSim.ImportBlockSimXMLFile etc. The old methods still exist so your code is not broken, but all old methods are deprecated and may be removed in the future releases.