' Options: 'Date: 2025-09-14 06:43:15 'Version: 8.52 'Tip: To override a DTO option, remove "''" prefix before updating 'BaseUrl: https://production-eros-platform-apisubscription.azurewebsites.net/api ' '''GlobalNamespace: '''MakePartial: True '''MakeVirtual: True '''MakeDataContractsExtensible: False '''AddReturnMarker: True '''AddDescriptionAsComments: True '''AddDataContractAttributes: False '''AddIndexesToDataMembers: False '''AddGeneratedCodeAttributes: False '''AddResponseStatus: False '''AddImplicitVersion: '''InitializeCollections: False '''ExportValueTypes: False 'IncludeTypes: SaveProject.* '''ExcludeTypes: '''AddNamespaces: '''AddDefaultXmlNamespace: http://schemas.servicestack.net/types Imports System Imports System.IO Imports System.Collections Imports System.Collections.Generic Imports System.Runtime.Serialization Imports ServiceStack Imports ServiceStack.DataAnnotations Imports Eros.Saguna.Common.Library.ValidationEngine Imports Eros.Saguna.Common.WebAPI.ServiceModel Imports Eros.Saguna.Common.WebAPIModel.Models Imports Eros.Subtle.Canvara.WebAPIModel.ServiceModelSubscription Namespace Global Namespace Eros.Saguna.Common.Library.ValidationEngine Public Partial Class RuleValidationResult Public Overridable Property RuleCode As String Public Overridable Property Message As String Public Overridable Property Key As String Public Overridable Property Tag As String Public Overridable Property ErrorCode As String End Class Public Partial Class ValidationErrorList Public Overridable Property ValidationErrors As List(Of RuleValidationResult) End Class End Namespace Namespace Eros.Saguna.Common.WebAPI.ServiceModel Public Partial Class AddressModel ''' '''The distance between this project and another specified set of gps coordinates. ''' Public Overridable Property DistanceAway As Double ''' '''The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. ''' Public Overridable Property Latitude As Double ''' '''The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. ''' Public Overridable Property Longitude As Double ''' '''Address Format Id Guid - this will be determined by the service. ''' Public Overridable Property AddressFormatId As Guid ''' '''Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered. ''' Public Overridable Property SuburbId As Guid ''' '''The suburb name. ''' Public Overridable Property SuburbName As String ''' '''The shortened State Name e.g Vic for Victoria. ''' Public Overridable Property StateShortName As String ''' '''The suburb postcode. ''' Public Overridable Property PostCode As String ''' '''Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered. ''' Public Overridable Property CountryId As Guid ''' '''the name of the country the address is within. ''' Public Overridable Property CountryName As String ''' '''A 2 digit ISO Country Code representing the country. ''' Public Overridable Property ISOCountryCode As String ''' '''The address Lot number. ''' Public Overridable Property LotNumber As String ''' '''The address Sub Unit number. ''' Public Overridable Property SubUnit As String ''' '''The address building number. ''' Public Overridable Property BuildingNumber As String ''' '''The address street number. ''' Public Overridable Property StreetNumber As String ''' '''The address street name including street type. ''' Public Overridable Property StreetName As String ''' '''A formatted address Line 1. ''' Public Overridable Property AddressLineOne As String ''' '''A formatted address Line 2. ''' Public Overridable Property AddressLineTwo As String ''' '''The full address string. ''' Public Overridable Property AddressFull As String ''' '''True if the address is a physical location. ''' Public Overridable Property IsPhysical As Boolean? ''' '''Notes about the address. ''' Public Overridable Property Notes As String ''' '''If true, the address is eligible for having its coordinates calculated/updated. ''' Public Overridable Property AutoMapCoordinates As Boolean? ''' '''Location Coordinates for the address. ''' Public Overridable Property LocationCoordinates As LocationCoordinatesModel End Class Public Interface ISubscription Property SuiteDataSourceInstanceId As Guid Property ObjectId As Guid Property AlternateKey As String Property IgnoreValidation As Boolean End Interface Public Partial Class LocationCoordinatesModel ''' '''The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. ''' Public Overridable Property Latitude As Double ''' '''The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. ''' Public Overridable Property Longitude As Double ''' '''The altitude of an address - the altitude above sea level. ''' Public Overridable Property Altitude As Double? ''' '''Accuracy of the latitude and longitude. ''' Public Overridable Property Accuracy As Double? ''' '''Accurancy of the Altitude. ''' Public Overridable Property AltitudeAccuracy As Double? ''' '''Direction you are heading. ''' Public Overridable Property Heading As Double? ''' '''Speed you are going. ''' Public Overridable Property Speed As Double? ''' '''Speed your altitude is ascending/descending at. ''' Public Overridable Property VerticalSpeed As Double? End Class Public Partial Class SubscriptionCommonProjectModel ''' '''A reference number used for identifying the project in the external system. ''' Public Overridable Property Reference As String ''' '''A name for the project. ''' Public Overridable Property Name As String ''' '''A description for the project. ''' Public Overridable Property Description As String ''' '''A list of ProjectContact records that link contacts (and their role in the project) to the project. ''' ", Description:="A list of ProjectContact records that link contacts (and their role in the project) to the project.", Name:="ProjectContacts", ParameterType:="query")> Public Overridable Property ProjectContacts As List(Of SubscriptionLinkContact) ''' '''An address for the project. ''' Public Overridable Property ProjectAddress As AddressModel ''' '''A link to the Customer Contact Group. ''' Public Overridable Property CustomerContactGroup As SubscriptionObjectModel ''' '''Project Group Name. ''' Public Overridable Property GroupName As String ''' '''Stage Name. ''' Public Overridable Property StageName As String ''' '''Guid of the Media Object representing the projects primary image. ''' Public Overridable Property PrimaryProjectImageId As Guid ''' '''URL to the projects primary full image. ''' Public Overridable Property PrimaryProjectPhotoUrl As String ''' '''URL to the projects primary thumbnail image. ''' Public Overridable Property PrimaryProjectThumbnailUrl As String ''' '''Image height of the projects logo. ''' Public Overridable Property PrimaryProjectPhotoHeight As Integer ''' '''Image height of the projects logo. ''' Public Overridable Property PrimaryProjectPhotoWidth As Integer ''' '''Dynamically linked content. ''' Public Overridable Property DynamicContent As String ''' '''If this is 'A' then a documentable ObjectConnection will be created. If this is 'D' then a documentable ObjectConnection will be removed if it exists. Any other value will be ignored. ''' Public Overridable Property DocumentableObjectConnection As Char ''' '''Dimension values linked to the project. ''' ", Description:="Dimension values linked to the project.", Name:="DimensionValues", ParameterType:="query")> Public Overridable Property DimensionValues As List(Of DimensionValueModel) ''' '''Dimension values linked to the project. ''' ", Description:="Dimension values linked to the project.", Name:="Calendars", ParameterType:="query")> Public Overridable Property Calendars As List(Of Guid) ''' '''The Document Site ID. ''' Public Overridable Property DocumentSiteId As Guid? Public Overridable Property ObjectSubscriptionId As Guid Public Overridable Property ObjectHash As String End Class Public Partial Class SubscriptionLinkContact ''' '''Guid of the contact object within Eros. ''' Public Overridable Property ContactId As Guid ''' '''The unique key that represents the contact on the external system. ''' Public Overridable Property ContactAlternateKey As String ''' '''Guid of the Role List Item object within Eros. ''' Public Overridable Property RoleId As Guid ''' '''The unique key that represents the role type on the external system. Note: Use of this is not currently implemented ''' Public Overridable Property RoleAlternateKey As String End Class Public Partial Class SubscriptionObjectModel Implements ISubscription ''' '''Guid representing the external systems datasource information. ''' Public Overridable Property SuiteDataSourceInstanceId As Guid Implements ISubscription.SuiteDataSourceInstanceId ''' '''The unique key that represents the object on the external system. ''' Public Overridable Property AlternateKey As String Implements ISubscription.AlternateKey ''' '''Guid of the object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key. ''' Public Overridable Property ObjectId As Guid Implements ISubscription.ObjectId ''' '''Guid of the RmsTableCtx within Eros. This is used if the alternate key is provided to identify the object to update. ''' Public Overridable Property RmsTableCtxId As Guid ''' '''Validation ensures that this object has a value in alternateKey or ObjectId, ignoring validation skips this requirement. ''' Public Overridable Property IgnoreValidation As Boolean Implements ISubscription.IgnoreValidation End Class End Namespace Namespace Eros.Saguna.Common.WebAPIModel.Models Public Partial Class DimensionValueModel Public Overridable Property DimensionValueId As Guid Public Overridable Property DimensionId As Guid Public Overridable Property Name As String Public Overridable Property Description As String Public Overridable Property ShortName As String Public Overridable Property TrafficLightId As Guid Public Overridable Property TrafficLightColour As String Public Overridable Property ObjectConnectionId As Guid Public Overridable Property OwnerContactId As Guid Public Overridable Property RecordStatus As String End Class End Namespace Namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModelSubscription ''' '''Inserts or Updates a project details and its contact connections and addresses. ''' Public Partial Class SaveProject Inherits ValidationErrorList Implements IReturn(Of ResponseStatus) Implements ISubscription ''' '''Guid representing the external systems datasource information. ''' Public Overridable Property SuiteDataSourceInstanceId As Guid Implements ISubscription.SuiteDataSourceInstanceId ''' '''The unique key that represents the project on the external system. ''' Public Overridable Property AlternateKey As String Implements ISubscription.AlternateKey ''' '''Guid of the project object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key. ''' Public Overridable Property ObjectId As Guid Implements ISubscription.ObjectId ''' '''If set to true, the object will be updated/refreshed. If false, the hash representation of the Project model and its data will be compared with the current Project to determine if there are any changes to save. ''' Public Overridable Property IgnoreHash As Boolean Public Overridable Property IgnoreValidation As Boolean Implements ISubscription.IgnoreValidation ''' '''Object containing all details of the project to be inserted or updated. ''' Public Overridable Property Project As SubscriptionCommonProjectModel Public Overridable Property LicenseeId As Guid Public Overridable Property SessionId As Guid End Class End Namespace End Namespace