Repository.XFRACAS.ImportXFRACASXML

From ReliaWiki
Revision as of 17:06, 28 January 2014 by John Leavitt (talk | contribs)
Jump to navigation Jump to search



Synthesis API allows the programmer to import XML files into XFRACAS. The page contains the logic of that importation. All XML files must first be in the XFRACAS format before they can be successfully imported. To view XFRACAS formats refer to the XFRACAS XML Import Documentation business logic contents.


This is different than the importing XML files directly into XFRACAS. If the programmer wishes to import files directly into XFRACAS instead of using Synthesis API, they should view the XFRACAS XML Import Documentation for the steps of that importation.


ImportXFRACASXML uploads an import byte array for processing and returns the system ID.

Method Syntax

Public Function ImportXFRACASXML( ByVal entityID As Integer , ByVal ImportType As XFRACASImportType, ByVal byteData As Byte() , ByVal fileTitle As String , ByVal fileDescription As String ) As Integer
Uploads an import file bytestream for processing and returns the system ID of the uploaded

Parameters

entityID The ID of the entity to import into.

ImportType The type of XFRACAS Import to utilize.

byteData The byte array of the XML to import.

fileTitle The file title of the XML file byte array to import.

fileDescription A description of the XML to import.

Usage Example

Code Block

' Declare a new repository connection class. 
Private WithEvents MyRepository As New Repository
' Connect to the desired Synthesis repository. 
DimSuccessAs Boolean=False
Success = MyRepository.ConnectToSQLRepository("SQLServerPath", "SQLDatabaseName")
' Get the list of XFRACAS Entities in the current project in the connected repository. 
Dim ListOfXFRACASEntities() As NameIdPair
ListOfXFRACASEntities = MyRepository.GetAllXFRACASEntities()
' Search the Entities for the desired Entity name, to find the Entity ID 
Dim DesiredEntityID As Integer
       For Each Entity As NameIdPair In ListOfXFRACASEntities()
           If Entity.Name = "DesiredEntityName"
              DesiredEntityID = Entity.ID
              Exit For
           End If
       Next
' Define an serializable XML Object. 
Dim xmlObject As Object = Nothing
' populate the xmlObject with values to import 
' Define the byte array. 
DimbyteArray As Byte() = Nothing
' Serialize the xmlObject into the byteArray. 
Dim SerializeSuccess As Boolean
 SerializeSuccess = MyRepository.SerializeXMLObjectToByteArray(byteArray, xmlObject)
' Import the XML byte array into the entity desired.  In this example, we assume the XML object type describes an Incident. 
Dim ImportXMLSystemID As Integer
ImportXMLSystemID = MyRepository.ImportXFRACASXML(DesiredEntityID, XFRACASImportType.Incident, byteArray, "XMLFileTitle", "XMLFileDescription")


Reformatted Usage Example

Declare a new repository connection class.

       Private WithEvents MyRepository As New Repository

Connect to the desired Synthesis repository.

       Dim Success As Boolean = False
       Success = MyRepository.ConnectToSQLRepository("SQLServerPath", "SQLDatabaseName")

Get the list of XFRACAS Entities in the current project in the connected repository.

       Dim ListOfXFRACASEntities() As NameIdPair
       ListOfXFRACASEntities = MyRepository.GetAllXFRACASEntities()

Search the Entities for the desired Entity name, to find the Entity ID

       Dim DesiredEntityID As Integer
       For Each Entity As NameIdPair In ListOfXFRACASEntities()
           If Entity.Name = "DesiredEntityName"
              DesiredEntityID = Entity.ID
              Exit For
           End If
       Next

Define an serializable XML Object.

       Dim xmlObject As Object = Nothing
       'populate the xmlObject with values to import

Define the byte array.

       Dim byteArray As Byte() = Nothing

Serialize the xmlObject into the byteArray.

       Dim SerializeSuccess As Boolean
       SerializeSuccess = MyRepository.SerializeXMLObjectToByteArray(byteArray, xmlObject)

Import the XML byte array into the entity desired. In this example, we assume the XML object type describes an Incident.

       Dim ImportXMLSystemID As Integer
       ImportXMLSystemID = MyRepository.ImportXFRACASXML(DesiredEntityID, XFRACASImportType.Incident, byteArray, "XMLFileTitle", "XMLFileDescription")