import 'package:servicestack/servicestack.dart';
enum AnalysisType
{
NotSet,
Standard,
RunOff,
}
enum SimulationLossPerspective
{
NotSet,
Agg,
Occ,
}
enum ReinsurancePremiumLossType
{
NotSet,
Net,
Gross,
}
enum ResultOutputLevel
{
NotSet,
PortfolioMetrics,
Curve,
YLT,
TailIntensity,
DealYlt,
DealElt,
DealEltWithIndustryLoss,
PortfolioElt,
PortfolioEltWithIndustryLoss,
EventSetGeneration,
PortfolioRaps,
DealRaps,
PortfolioSepyIndustryLoss,
DealSepyIndustryLoss,
}
class AnalysisPortfolioEventSetResult implements IObjectWithId, IHasAnalysisId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
int? analysisPortfolioEventSetConfigurationId;
// @DataMember(Order=4)
int? analysisResultId;
// @DataMember(Order=5)
String? portfolioName;
// @DataMember(Order=6)
String? rowIdentifier;
AnalysisPortfolioEventSetResult({this.id,this.analysisId,this.analysisPortfolioEventSetConfigurationId,this.analysisResultId,this.portfolioName,this.rowIdentifier});
AnalysisPortfolioEventSetResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
analysisPortfolioEventSetConfigurationId = json['analysisPortfolioEventSetConfigurationId'];
analysisResultId = json['analysisResultId'];
portfolioName = json['portfolioName'];
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'analysisPortfolioEventSetConfigurationId': analysisPortfolioEventSetConfigurationId,
'analysisResultId': analysisResultId,
'portfolioName': portfolioName,
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisPortfolioEventSetResult";
TypeContext? context = _ctx;
}
// @DataContract
class AnalysisResult implements IObjectWithId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
int? analysisConfigurationId;
// @DataMember(Order=4)
String? container;
// @DataMember(Order=5)
String? blobName;
// @DataMember(Order=6)
String? resultTableName;
// @DataMember(Order=7)
AnalysisType? analysisType;
// @DataMember(Order=8)
SimulationLossPerspective? simulationLossPerspective;
// @DataMember(Order=9)
ReinsurancePremiumLossType? reinsurancePremiumLossType;
// @DataMember(Order=10)
ResultOutputLevel? outputLevel;
// @DataMember(Order=11)
int? metaRiskId;
// @DataMember(Order=12)
List<AnalysisPortfolioEventSetResult>? analysisPortfolioEventSetResults;
// @DataMember(Order=13)
String? rowIdentifier;
AnalysisResult({this.id,this.analysisId,this.analysisConfigurationId,this.container,this.blobName,this.resultTableName,this.analysisType,this.simulationLossPerspective,this.reinsurancePremiumLossType,this.outputLevel,this.metaRiskId,this.analysisPortfolioEventSetResults,this.rowIdentifier});
AnalysisResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
analysisConfigurationId = json['analysisConfigurationId'];
container = json['container'];
blobName = json['blobName'];
resultTableName = json['resultTableName'];
analysisType = JsonConverters.fromJson(json['analysisType'],'AnalysisType',context!);
simulationLossPerspective = JsonConverters.fromJson(json['simulationLossPerspective'],'SimulationLossPerspective',context!);
reinsurancePremiumLossType = JsonConverters.fromJson(json['reinsurancePremiumLossType'],'ReinsurancePremiumLossType',context!);
outputLevel = JsonConverters.fromJson(json['outputLevel'],'ResultOutputLevel',context!);
metaRiskId = json['metaRiskId'];
analysisPortfolioEventSetResults = JsonConverters.fromJson(json['analysisPortfolioEventSetResults'],'List<AnalysisPortfolioEventSetResult>',context!);
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'analysisConfigurationId': analysisConfigurationId,
'container': container,
'blobName': blobName,
'resultTableName': resultTableName,
'analysisType': JsonConverters.toJson(analysisType,'AnalysisType',context!),
'simulationLossPerspective': JsonConverters.toJson(simulationLossPerspective,'SimulationLossPerspective',context!),
'reinsurancePremiumLossType': JsonConverters.toJson(reinsurancePremiumLossType,'ReinsurancePremiumLossType',context!),
'outputLevel': JsonConverters.toJson(outputLevel,'ResultOutputLevel',context!),
'metaRiskId': metaRiskId,
'analysisPortfolioEventSetResults': JsonConverters.toJson(analysisPortfolioEventSetResults,'List<AnalysisPortfolioEventSetResult>',context!),
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisResult";
TypeContext? context = _ctx;
}
class ProcessHotPathRollupOutputPersistenceRequest implements IConvertible
{
String? id;
List<AnalysisResult>? outputDetails;
ProcessHotPathRollupOutputPersistenceRequest({this.id,this.outputDetails});
ProcessHotPathRollupOutputPersistenceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
outputDetails = JsonConverters.fromJson(json['outputDetails'],'List<AnalysisResult>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'outputDetails': JsonConverters.toJson(outputDetails,'List<AnalysisResult>',context!)
};
getTypeName() => "ProcessHotPathRollupOutputPersistenceRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'riskstoreng_dev.nephila.com', types: <String, TypeInfo> {
'AnalysisType': TypeInfo(TypeOf.Enum, enumValues:AnalysisType.values),
'SimulationLossPerspective': TypeInfo(TypeOf.Enum, enumValues:SimulationLossPerspective.values),
'ReinsurancePremiumLossType': TypeInfo(TypeOf.Enum, enumValues:ReinsurancePremiumLossType.values),
'ResultOutputLevel': TypeInfo(TypeOf.Enum, enumValues:ResultOutputLevel.values),
'AnalysisPortfolioEventSetResult': TypeInfo(TypeOf.Class, create:() => AnalysisPortfolioEventSetResult()),
'AnalysisResult': TypeInfo(TypeOf.Class, create:() => AnalysisResult()),
'List<AnalysisPortfolioEventSetResult>': TypeInfo(TypeOf.Class, create:() => <AnalysisPortfolioEventSetResult>[]),
'ProcessHotPathRollupOutputPersistenceRequest': TypeInfo(TypeOf.Class, create:() => ProcessHotPathRollupOutputPersistenceRequest()),
'List<AnalysisResult>': TypeInfo(TypeOf.Class, create:() => <AnalysisResult>[]),
});
Dart ProcessHotPathRollupOutputPersistenceRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/oneway/ProcessHotPathRollupOutputPersistenceRequest HTTP/1.1
Host: riskstoreng-dev.nephila.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: 00000000000000000000000000000000,
outputDetails:
[
{
id: 0,
analysisId: 0,
analysisConfigurationId: 0,
container: String,
blobName: String,
resultTableName: String,
analysisType: NotSet,
simulationLossPerspective: NotSet,
reinsurancePremiumLossType: NotSet,
outputLevel: NotSet,
metaRiskId: 0,
analysisPortfolioEventSetResults:
[
{
id: 0,
analysisId: 0,
analysisPortfolioEventSetConfigurationId: 0,
analysisResultId: 0,
portfolioName: String,
rowIdentifier: 00000000000000000000000000000000
}
],
rowIdentifier: 00000000000000000000000000000000
}
]
}