Skip to content

Project

Type ISIAPIProject · Interface
Namespace SIDRASolutions.SI.API
Assembly SIDRASolutions.SI.API.dll
COM CLSID 92FE4623-165F-4767-B5DD-0C803422C9DD

SIDRA INTERSECTION Project wrapper interface

Declaration

[Guid("92FE4623-165F-4767-B5DD-0C803422C9DD")]
public interface ISIAPIProject

Members

Properties

Property Type Summary
Name string Project name
LastErrorMessage string
SiteFolders ISIAPISiteFolders Collection of SiteFolders in the current Project
NetworkFolders ISIAPINetworkFolders Collection of NetworkFolders in the current Project
Description string
MinViableVersion string
Created_date DateTime
Created_by string
Created_by_company string
Created_version string
Modified_date DateTime
Modified_by string
Modified_by_company string
Modified_version string
EarliestModifiedVersion string
LatestModifiedVersion string
SiteVolumeBinFolders ISIAPISiteVolumeBinFolders Collection of SiteVolumeBinFolders in the current Project

Methods

Method Returns Summary
UpdateModifiedInfo() bool Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number
ImportSitesFromProject(string, string) int Import Site(s) from another Project file into this Project file.
ImportNetworksFromProject(string, string) int Import Network(s) from another Project file into this Project file. This function will import the Sites in the Network(s) too.
AddSiteFolder(string) ISIAPISiteFolder Add a new SiteFolder into the Project.
RemoveSiteFolder(ISIAPISiteFolder) bool Remove a SiteFolder from the Project. All Sites in the SiteFolder will be removed. This method fails if any Site in the SiteFolder is used in a Network.
MoveSiteFolderTo(ISIAPISiteFolder, int) bool Move a SiteFolder to a new position.
AddNetworkFolder(string) ISIAPINetworkFolder Add a new NetworkFolder into the Project.
RemoveNetworkFolder(ISIAPINetworkFolder) bool Remove a NetworkFolder from the Project. All Networks in the NetworkFolder will be removed.
MoveNetworkFolderTo(ISIAPINetworkFolder, int) bool Move a NetworkFolder to a new position.
AddSiteVolumeBinFolder(string) ISIAPISiteVolumeBinFolder Add a new SiteVolumeBinFolder into the Project.
RemoveSiteVolumeBinFolder(ISIAPISiteVolumeBinFolder) bool Remove a SiteVolumeBinFolder from the Project. All SiteVolumeBins in the SiteVolumeBinFolder will be removed. This method fails if any SiteVolumeBin in the Folder is used by Site.
MoveSiteVolumeBinFolderTo(ISIAPISiteVolumeBinFolder, int) bool Move a SiteVolumeBinFolder to a new position.

Properties

Name

Project name

string Name { get; }

Type string

Value

Project name

Code samples
string name = project.Name;
CComBSTR name;
project->get_Name(&name);
name = project.Name
$name = $project.Name

LastErrorMessage

string LastErrorMessage { get; }

Type string

Code samples
string lastErrorMessage = project.LastErrorMessage;
CComBSTR lastErrorMessage;
project->get_LastErrorMessage(&lastErrorMessage);
last_error_message = project.LastErrorMessage
$lastErrorMessage = $project.LastErrorMessage

SiteFolders

Collection of SiteFolders in the current Project

ISIAPISiteFolders SiteFolders { get; }

Type ISIAPISiteFolders

Value

SiteFolders collection

Code samples
var siteFolders = project.SiteFolders;
CComPtr<ISIAPISiteFolders> siteFolders;
project->get_SiteFolders(&siteFolders);
site_folders = project.SiteFolders
$siteFolders = $project.SiteFolders

NetworkFolders

Collection of NetworkFolders in the current Project

ISIAPINetworkFolders NetworkFolders { get; }

Type ISIAPINetworkFolders

Value

NetworkFolders collection

Code samples
var networkFolders = project.NetworkFolders;
CComPtr<ISIAPINetworkFolders> networkFolders;
project->get_NetworkFolders(&networkFolders);
network_folders = project.NetworkFolders
$networkFolders = $project.NetworkFolders

Description

string Description { get; set; }

Type string

Code samples
string description = project.Description;
project.Description = @"value";
CComBSTR description;
project->get_Description(&description);
project->put_Description(CComBSTR(L"value"));
description = project.Description
project.Description = r"value"
$description = $project.Description
$project.Description = "value"

MinViableVersion

string MinViableVersion { get; }

Type string

Code samples
string minViableVersion = project.MinViableVersion;
CComBSTR minViableVersion;
project->get_MinViableVersion(&minViableVersion);
min_viable_version = project.MinViableVersion
$minViableVersion = $project.MinViableVersion

Created_date

DateTime Created_date { get; }

Type DateTime

Code samples
var created_date = project.Created_date;
VARIANT created_date;
project->get_Created_date(&created_date);
created_date = project.Created_date
$created_date = $project.Created_date

Created_by

string Created_by { get; }

Type string

Code samples
string created_by = project.Created_by;
CComBSTR created_by;
project->get_Created_by(&created_by);
created_by = project.Created_by
$created_by = $project.Created_by

Created_by_company

string Created_by_company { get; }

Type string

Code samples
string created_by_company = project.Created_by_company;
CComBSTR created_by_company;
project->get_Created_by_company(&created_by_company);
created_by_company = project.Created_by_company
$created_by_company = $project.Created_by_company

Created_version

string Created_version { get; }

Type string

Code samples
string created_version = project.Created_version;
CComBSTR created_version;
project->get_Created_version(&created_version);
created_version = project.Created_version
$created_version = $project.Created_version

Modified_date

DateTime Modified_date { get; }

Type DateTime

Code samples
var modified_date = project.Modified_date;
VARIANT modified_date;
project->get_Modified_date(&modified_date);
modified_date = project.Modified_date
$modified_date = $project.Modified_date

Modified_by

string Modified_by { get; }

Type string

Code samples
string modified_by = project.Modified_by;
CComBSTR modified_by;
project->get_Modified_by(&modified_by);
modified_by = project.Modified_by
$modified_by = $project.Modified_by

Modified_by_company

string Modified_by_company { get; }

Type string

Code samples
string modified_by_company = project.Modified_by_company;
CComBSTR modified_by_company;
project->get_Modified_by_company(&modified_by_company);
modified_by_company = project.Modified_by_company
$modified_by_company = $project.Modified_by_company

Modified_version

string Modified_version { get; }

Type string

Code samples
string modified_version = project.Modified_version;
CComBSTR modified_version;
project->get_Modified_version(&modified_version);
modified_version = project.Modified_version
$modified_version = $project.Modified_version

EarliestModifiedVersion

string EarliestModifiedVersion { get; }

Type string

Code samples
string earliestModifiedVersion = project.EarliestModifiedVersion;
CComBSTR earliestModifiedVersion;
project->get_EarliestModifiedVersion(&earliestModifiedVersion);
earliest_modified_version = project.EarliestModifiedVersion
$earliestModifiedVersion = $project.EarliestModifiedVersion

LatestModifiedVersion

string LatestModifiedVersion { get; }

Type string

Code samples
string latestModifiedVersion = project.LatestModifiedVersion;
CComBSTR latestModifiedVersion;
project->get_LatestModifiedVersion(&latestModifiedVersion);
latest_modified_version = project.LatestModifiedVersion
$latestModifiedVersion = $project.LatestModifiedVersion

SiteVolumeBinFolders

Collection of SiteVolumeBinFolders in the current Project

ISIAPISiteVolumeBinFolders SiteVolumeBinFolders { get; }

Type ISIAPISiteVolumeBinFolders

Value

SiteVolumeBinFolders collection

Code samples
var siteVolumeBinFolders = project.SiteVolumeBinFolders;
CComPtr<ISIAPISiteVolumeBinFolders> siteVolumeBinFolders;
project->get_SiteVolumeBinFolders(&siteVolumeBinFolders);
site_volume_bin_folders = project.SiteVolumeBinFolders
$siteVolumeBinFolders = $project.SiteVolumeBinFolders

Methods

UpdateModifiedInfo()

Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number

bool UpdateModifiedInfo()

Returns bool

Code samples
bool result = project.UpdateModifiedInfo();
VARIANT_BOOL result;
project->UpdateModifiedInfo(&result);
result = project.UpdateModifiedInfo()
$result = $project.UpdateModifiedInfo()

ImportSitesFromProject(string, string)

Import Site(s) from another Project file into this Project file.

int ImportSitesFromProject(string projectFilePath, string siteNames)

Parameters

Name Type Description
projectFilePath string The file path of the other Project file.
siteNames string The name(s) of the Site(s) to import. Use semicolon ";" to separate the names. If a name already has ";", replace each ";" with ";;". For examples:

Returns int - The number of successfully imported Sites

Code samples
int result = project.ImportSitesFromProject(@"C:\path\to\project.sipx", @"Main Intersection");
long result;
project->ImportSitesFromProject(CComBSTR(L"C:\\path\\to\\project.sipx"), CComBSTR(L"Main Intersection"), &result);
result = project.ImportSitesFromProject(r"C:\path\to\project.sipx", r"Main Intersection")
$result = $project.ImportSitesFromProject("C:\path\to\project.sipx", "Main Intersection")

ImportNetworksFromProject(string, string)

Import Network(s) from another Project file into this Project file. This function will import the Sites in the Network(s) too.

int ImportNetworksFromProject(string projectFilePath, string networkNames)

Parameters

Name Type Description
projectFilePath string The file path of the other Project file.
networkNames string The name(s) of the Network(s) to import. Use semicolon ";" to separate the names. If a name already has ";", replace each ";" with ";;". For examples:

Returns int - The number of successfully imported Networks

Code samples
int result = project.ImportNetworksFromProject(@"C:\path\to\project.sipx", @"City Network");
long result;
project->ImportNetworksFromProject(CComBSTR(L"C:\\path\\to\\project.sipx"), CComBSTR(L"City Network"), &result);
result = project.ImportNetworksFromProject(r"C:\path\to\project.sipx", r"City Network")
$result = $project.ImportNetworksFromProject("C:\path\to\project.sipx", "City Network")

AddSiteFolder(string)

Add a new SiteFolder into the Project.

ISIAPISiteFolder AddSiteFolder(string name)

Parameters

Name Type Description
name string

Returns ISIAPISiteFolder

Code samples
var result = project.AddSiteFolder(@"Example");
CComPtr<ISIAPISiteFolder> result;
project->AddSiteFolder(CComBSTR(L"Example"), &result);
result = project.AddSiteFolder(r"Example")
$result = $project.AddSiteFolder("Example")

RemoveSiteFolder(ISIAPISiteFolder)

Remove a SiteFolder from the Project. All Sites in the SiteFolder will be removed. This method fails if any Site in the SiteFolder is used in a Network.

bool RemoveSiteFolder(ISIAPISiteFolder siteFolder)

Parameters

Name Type Description
siteFolder ISIAPISiteFolder The SiteFolder to remove.

Returns bool - true if the SiteFolder is successfully removed; otherwise, false. This method also returns false if the SiteFolder does not exist in this Project.

Code samples
bool result = project.RemoveSiteFolder(null);
VARIANT_BOOL result;
project->RemoveSiteFolder(NULL, &result);
result = project.RemoveSiteFolder(None)
$result = $project.RemoveSiteFolder($null)

MoveSiteFolderTo(ISIAPISiteFolder, int)

Move a SiteFolder to a new position.

bool MoveSiteFolderTo(ISIAPISiteFolder siteFolder, int newPosition)

Parameters

Name Type Description
siteFolder ISIAPISiteFolder The SiteFolder to move.
newPosition int The zero-based position that the SiteFolder should be moved to.

Returns bool - true if the SiteFolder is successfully moved; otherwise, false. This method also returns false if the SiteFolder does not exist in this Project.

Code samples
bool result = project.MoveSiteFolderTo(null, 0);
VARIANT_BOOL result;
project->MoveSiteFolderTo(NULL, 0, &result);
result = project.MoveSiteFolderTo(None, 0)
$result = $project.MoveSiteFolderTo($null, 0)

AddNetworkFolder(string)

Add a new NetworkFolder into the Project.

ISIAPINetworkFolder AddNetworkFolder(string name)

Parameters

Name Type Description
name string

Returns ISIAPINetworkFolder

Code samples
var result = project.AddNetworkFolder(@"Example");
CComPtr<ISIAPINetworkFolder> result;
project->AddNetworkFolder(CComBSTR(L"Example"), &result);
result = project.AddNetworkFolder(r"Example")
$result = $project.AddNetworkFolder("Example")

RemoveNetworkFolder(ISIAPINetworkFolder)

Remove a NetworkFolder from the Project. All Networks in the NetworkFolder will be removed.

bool RemoveNetworkFolder(ISIAPINetworkFolder networkFolder)

Parameters

Name Type Description
networkFolder ISIAPINetworkFolder The NetworkFolder to remove.

Returns bool - true if the NetworkFolder is successfully removed; otherwise, false. This method also returns false if the NetworkFolder does not exist in this Project.

Code samples
bool result = project.RemoveNetworkFolder(null);
VARIANT_BOOL result;
project->RemoveNetworkFolder(NULL, &result);
result = project.RemoveNetworkFolder(None)
$result = $project.RemoveNetworkFolder($null)

MoveNetworkFolderTo(ISIAPINetworkFolder, int)

Move a NetworkFolder to a new position.

bool MoveNetworkFolderTo(ISIAPINetworkFolder networkFolder, int newPosition)

Parameters

Name Type Description
networkFolder ISIAPINetworkFolder The NetworkFolder to move.
newPosition int The zero-based position that the NetworkFolder should be moved to.

Returns bool - true if the NetworkFolder is successfully moved; otherwise, false. This method also returns false if the NetworkFolder does not exist in this Project.

Code samples
bool result = project.MoveNetworkFolderTo(null, 0);
VARIANT_BOOL result;
project->MoveNetworkFolderTo(NULL, 0, &result);
result = project.MoveNetworkFolderTo(None, 0)
$result = $project.MoveNetworkFolderTo($null, 0)

AddSiteVolumeBinFolder(string)

Add a new SiteVolumeBinFolder into the Project.

ISIAPISiteVolumeBinFolder AddSiteVolumeBinFolder(string name)

Parameters

Name Type Description
name string

Returns ISIAPISiteVolumeBinFolder

Code samples
var result = project.AddSiteVolumeBinFolder(@"Example");
CComPtr<ISIAPISiteVolumeBinFolder> result;
project->AddSiteVolumeBinFolder(CComBSTR(L"Example"), &result);
result = project.AddSiteVolumeBinFolder(r"Example")
$result = $project.AddSiteVolumeBinFolder("Example")

RemoveSiteVolumeBinFolder(ISIAPISiteVolumeBinFolder)

Remove a SiteVolumeBinFolder from the Project. All SiteVolumeBins in the SiteVolumeBinFolder will be removed. This method fails if any SiteVolumeBin in the Folder is used by Site.

bool RemoveSiteVolumeBinFolder(ISIAPISiteVolumeBinFolder siteVolumeBinFolder)

Parameters

Name Type Description
siteVolumeBinFolder ISIAPISiteVolumeBinFolder The SiteVolumeBinFolder to remove.

Returns bool - true if the SiteVolumeBinFolder is successfully removed; otherwise, false. This method also returns false if the SiteVolumeBinFolder does not exist in this Project.

Code samples
bool result = project.RemoveSiteVolumeBinFolder(null);
VARIANT_BOOL result;
project->RemoveSiteVolumeBinFolder(NULL, &result);
result = project.RemoveSiteVolumeBinFolder(None)
$result = $project.RemoveSiteVolumeBinFolder($null)

MoveSiteVolumeBinFolderTo(ISIAPISiteVolumeBinFolder, int)

Move a SiteVolumeBinFolder to a new position.

bool MoveSiteVolumeBinFolderTo(ISIAPISiteVolumeBinFolder siteVolumeBinFolder, int newPosition)

Parameters

Name Type Description
siteVolumeBinFolder ISIAPISiteVolumeBinFolder The SiteVolumeBinFolder to move.
newPosition int The zero-based position that the SiteVolumeBinFolder should be moved to.

Returns bool - true if the SiteVolumeBinFolder is successfully moved; otherwise, false. This method also returns false if the SiteVolumeBinFolder does not exist in this Project.

Code samples
bool result = project.MoveSiteVolumeBinFolderTo(null, 0);
VARIANT_BOOL result;
project->MoveSiteVolumeBinFolderTo(NULL, 0, &result);
result = project.MoveSiteVolumeBinFolderTo(None, 0)
$result = $project.MoveSiteVolumeBinFolderTo($null, 0)