| GET | /api/riskstore/results/portfolio-event-set-configurations | Search portfolio event set configuration rows by analysis or analysis configuration |
|---|
import Foundation
import ServiceStack
public class FindAnalysisPortfolioEventSetConfigurations : QueryDb<AnalysisPortfolioEventSetConfiguration>
{
// @ApiMember(DataType="integer", Format="int64")
public var ids:[Int]
// @ApiMember(DataType="integer", Format="int64")
public var analysisId:Int?
// @ApiMember(DataType="integer", Format="int64")
public var analysisIds:[Int]
// @ApiMember(DataType="integer", Format="int64")
public var analysisConfigurationId:Int?
// @ApiMember(DataType="integer", Format="int64")
public var analysisConfigurationIds:[Int]
// @ApiMember(DataType="string")
public var portfolioName:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case ids
case analysisId
case analysisIds
case analysisConfigurationId
case analysisConfigurationIds
case portfolioName
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
ids = try container.decodeIfPresent([Int].self, forKey: .ids) ?? []
analysisId = try container.decodeIfPresent(Int.self, forKey: .analysisId)
analysisIds = try container.decodeIfPresent([Int].self, forKey: .analysisIds) ?? []
analysisConfigurationId = try container.decodeIfPresent(Int.self, forKey: .analysisConfigurationId)
analysisConfigurationIds = try container.decodeIfPresent([Int].self, forKey: .analysisConfigurationIds) ?? []
portfolioName = try container.decodeIfPresent(String.self, forKey: .portfolioName)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if ids != nil { try container.encode(ids, forKey: .ids) }
if analysisId != nil { try container.encode(analysisId, forKey: .analysisId) }
if analysisIds != nil { try container.encode(analysisIds, forKey: .analysisIds) }
if analysisConfigurationId != nil { try container.encode(analysisConfigurationId, forKey: .analysisConfigurationId) }
if analysisConfigurationIds != nil { try container.encode(analysisConfigurationIds, forKey: .analysisConfigurationIds) }
if portfolioName != nil { try container.encode(portfolioName, forKey: .portfolioName) }
}
}
public class AnalysisPortfolioEventSetConfiguration : IObjectWithId, IHasAnalysisId, Codable
{
// @DataMember(Order=1)
public var id:Int
// @DataMember(Order=2)
public var analysisId:Int
// @DataMember(Order=3)
public var analysisConfigurationId:Int
// @DataMember(Order=4)
public var portfolioName:String
// @DataMember(Order=5)
public var modelId:String
// @DataMember(Order=6)
public var rowIdentifier:String
required public init(){}
}
// @DataContract
public class Analysis : IObjectWithId, Codable
{
// @DataMember(Order=1)
public var id:Int
// @DataMember(Order=2)
public var name:String
// @DataMember(Order=3)
public var modelAsOfDate:Date?
// @DataMember(Order=4)
public var perspectiveId:Int
// @DataMember(Order=5)
public var configurations:[AnalysisConfiguration]
// @DataMember(Order=6)
public var deals:[AnalysisDeal]
// @DataMember(Order=7)
public var eventIdFilters:[AnalysisEventIdFilter]
// @DataMember(Order=8)
public var createdBy:String
// @DataMember(Order=9)
public var createdDateUtc:Date
// @DataMember(Order=10)
public var completedDateUtc:Date?
// @DataMember(Order=11)
public var legacyAnalysisId:Int?
// @DataMember(Order=12)
public var resultPersistenceTracking:[MessageTracking]
// @DataMember(Order=13)
public var processingStatus:ProcessingStatus
// @DataMember(Order=14)
public var saveResults:Bool
// @DataMember(Order=15)
public var eventSourceSystem:String
// @DataMember(Order=16)
public var updatedDateUtc:Date
// @DataMember(Order=17)
public var isExpired:Bool
// @DataMember(Order=18)
public var rowIdentifier:String
// @DataMember(Order=19)
public var errorMessage:String
/**
* Take the minimum simulation count when we have different simulations between event sets
*/
// @DataMember(Order=20)
// @ApiMember(DataType="boolean", Description="Take the minimum simulation count when we have different simulations between event sets")
public var ignoreSimulationCountMismatch:Bool
// @DataMember(Order=21)
// @Ignore()
public var finalStatus:ProcessingStatus
required public init(){}
}
// @DataContract
public class AnalysisConfiguration : IObjectWithId, IHasAnalysisId, Codable
{
// @DataMember(Order=1)
public var id:Int
// @DataMember(Order=2)
public var analysisId:Int
// @DataMember(Order=3)
public var windowStartDate:Date?
// @DataMember(Order=4)
public var windowEndDate:Date?
// @DataMember(Order=5)
public var standardEnabled:Bool
// @DataMember(Order=6)
public var runOffEnabled:Bool
// @DataMember(Order=7)
public var aggregateEnabled:Bool
// @DataMember(Order=8)
public var occurrenceEnabled:Bool
// @DataMember(Order=9)
public var nettEnabled:Bool
// @DataMember(Order=10)
public var grossEnabled:Bool
// @DataMember(Order=11)
public var tailIntensityPercentageStart:Double?
// @DataMember(Order=12)
public var tailIntensityPercentageEnd:Double?
// @DataMember(Order=13)
public var metaRiskId:Int
// @DataMember(Order=14)
public var outputLevel:ResultOutputLevel
// @DataMember(Order=15)
public var processingStatus:ProcessingStatus
// @DataMember(Order=16)
public var eventLossFloorStartRange:Double?
// @DataMember(Order=17)
public var eventLossFloorEndRange:Double?
// @DataMember(Order=18)
public var analysisPortfolioEventSetConfigurations:[AnalysisPortfolioEventSetConfiguration]
// @DataMember(Order=19)
public var rowIdentifier:String
required public init(){}
}
public enum ResultOutputLevel : String, Codable
{
case NotSet
case PortfolioMetrics
case Curve
case YLT
case TailIntensity
case DealYlt
case DealElt
case DealEltWithIndustryLoss
case PortfolioElt
case PortfolioEltWithIndustryLoss
case EventSetGeneration
case PortfolioRaps
case DealRaps
}
public enum ProcessingStatus : Int, Codable
{
case New = 0
case Processing = 1
case Failed = 10
case Successful = 20
}
// @DataContract
public class AnalysisDeal : IObjectWithId, IHasAnalysisId, Codable
{
// @DataMember(Order=1)
public var id:Int
// @DataMember(Order=2)
public var analysisId:Int
// @DataMember(Order=3)
public var sourceDealId:String
// @DataMember(Order=4)
public var dealRef:String
// @DataMember(Order=5)
public var sourceDealSystem:String
// @DataMember(Order=6)
public var eventSetId:Int
// @DataMember(Order=7)
public var rol:Double
// @DataMember(Order=8)
public var limit:Double
// @DataMember(Order=9)
public var inceptionDate:Date
// @DataMember(Order=10)
public var expiryDate:Date
// @DataMember(Order=11)
public var transactionType:TransactionType
// @DataMember(Order=12)
public var allocations:[AnalysisPortfolioAllocation]
// @DataMember(Order=13)
public var perspectiveIdOverride:Int?
// @DataMember(Order=14)
public var eventSetIdOverride:Int?
// @DataMember(Order=15)
public var modelAsOfDateOverride:Date?
// @DataMember(Order=16)
public var sourceModelSystemOverride:String
// @DataMember(Order=17)
public var sourceModelIdOverride:String
// @DataMember(Order=18)
public var sourceEventSetIdOverride:String
// @DataMember(Order=19)
public var eventSourceSystemOverride:String
// @DataMember(Order=20)
public var rowIdentifier:String
required public init(){}
}
public enum TransactionType : String, Codable
{
case NotSet
case S
case B
}
// @DataContract
public class AnalysisPortfolioAllocation : IObjectWithId, Codable
{
// @DataMember(Order=1)
public var id:Int
// @DataMember(Order=2)
public var analysisDealId:Int
// @DataMember(Order=3)
// @Validate(Validator="NotEmpty", Message="PortfolioName is mandatory")
public var portfolioName:String
// @DataMember(Order=4)
public var allocationPercentage:Double
// @DataMember(Order=5)
public var rowIdentifier:String
required public init(){}
}
// @DataContract
public class AnalysisEventIdFilter : IObjectWithId, IHasAnalysisId, Codable
{
// @DataMember(Order=1)
public var id:Int
// @DataMember(Order=2)
public var analysisId:Int
// @DataMember(Order=3)
public var eventSourceId:Int
// @DataMember(Order=4)
public var eventId:Int
// @DataMember(Order=5)
public var rowIdentifier:String
required public init(){}
}
// @DataContract
public class MessageTracking : Codable
{
// @DataMember(Order=1)
public var id:String
// @DataMember(Order=2)
public var analysisId:Int?
// @DataMember(Order=3)
public var processingStatus:ProcessingStatus
// @DataMember(Order=4)
public var messageType:MessageType
// @DataMember(Order=5)
public var createdDateUtc:Date
// @DataMember(Order=6)
public var updatedDateUtc:Date
required public init(){}
}
public enum MessageType : String, Codable
{
case NotSet
case Persistence
case Archival
}
Swift FindAnalysisPortfolioEventSetConfigurations DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/riskstore/results/portfolio-event-set-configurations HTTP/1.1 Host: riskstoreng-dev.nephila.com Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<QueryResponseOfAnalysisPortfolioEventSetConfiguratione3Twhsvh xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Offset>0</Offset>
<Total>0</Total>
<Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/Nephila.RiskStore.ServiceModel.Types">
<d2p1:AnalysisPortfolioEventSetConfiguration>
<d2p1:AnalysisConfigurationId>0</d2p1:AnalysisConfigurationId>
<d2p1:AnalysisId>0</d2p1:AnalysisId>
<d2p1:Id>0</d2p1:Id>
<d2p1:ModelId>String</d2p1:ModelId>
<d2p1:PortfolioName>String</d2p1:PortfolioName>
<d2p1:RowIdentifier>00000000-0000-0000-0000-000000000000</d2p1:RowIdentifier>
</d2p1:AnalysisPortfolioEventSetConfiguration>
</Results>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<ResponseStatus>
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>
</QueryResponseOfAnalysisPortfolioEventSetConfiguratione3Twhsvh>