| Requires any of the roles: | Riskstore.Write, Riskstore.Admin |
| GET | /api/riskstore/analysis/results | Get the analysis by id, this will return results if the analysis is completed |
|---|
import 'package:servicestack/servicestack.dart';
enum ResultOutputLevel
{
NotSet,
PortfolioMetrics,
Curve,
YLT,
TailIntensity,
DealYlt,
DealElt,
DealEltWithIndustryLoss,
PortfolioElt,
PortfolioEltWithIndustryLoss,
EventSetGeneration,
PortfolioRaps,
DealRaps,
PortfolioSepyIndustryLoss,
DealSepyIndustryLoss,
}
enum ProcessingStatus
{
New,
Processing,
Failed,
Successful,
}
class AnalysisPortfolioEventSetConfiguration implements IObjectWithId, IHasAnalysisId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
int? analysisConfigurationId;
// @DataMember(Order=4)
String? portfolioName;
// @DataMember(Order=5)
String? modelId;
// @DataMember(Order=6)
String? rowIdentifier;
AnalysisPortfolioEventSetConfiguration({this.id,this.analysisId,this.analysisConfigurationId,this.portfolioName,this.modelId,this.rowIdentifier});
AnalysisPortfolioEventSetConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
analysisConfigurationId = json['analysisConfigurationId'];
portfolioName = json['portfolioName'];
modelId = json['modelId'];
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'analysisConfigurationId': analysisConfigurationId,
'portfolioName': portfolioName,
'modelId': modelId,
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisPortfolioEventSetConfiguration";
TypeContext? context = _ctx;
}
// @DataContract
class AnalysisConfiguration implements IObjectWithId, IHasAnalysisId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
DateTime? windowStartDate;
// @DataMember(Order=4)
DateTime? windowEndDate;
// @DataMember(Order=5)
bool? standardEnabled;
// @DataMember(Order=6)
bool? runOffEnabled;
// @DataMember(Order=7)
bool? aggregateEnabled;
// @DataMember(Order=8)
bool? occurrenceEnabled;
// @DataMember(Order=9)
bool? nettEnabled;
// @DataMember(Order=10)
bool? grossEnabled;
// @DataMember(Order=11)
double? tailIntensityPercentageStart;
// @DataMember(Order=12)
double? tailIntensityPercentageEnd;
// @DataMember(Order=13)
int? metaRiskId;
// @DataMember(Order=14)
ResultOutputLevel? outputLevel;
// @DataMember(Order=15)
ProcessingStatus? processingStatus;
// @DataMember(Order=16)
double? eventLossFloorStartRange;
// @DataMember(Order=17)
double? eventLossFloorEndRange;
// @DataMember(Order=18)
List<AnalysisPortfolioEventSetConfiguration>? analysisPortfolioEventSetConfigurations;
// @DataMember(Order=19)
String? rowIdentifier;
AnalysisConfiguration({this.id,this.analysisId,this.windowStartDate,this.windowEndDate,this.standardEnabled,this.runOffEnabled,this.aggregateEnabled,this.occurrenceEnabled,this.nettEnabled,this.grossEnabled,this.tailIntensityPercentageStart,this.tailIntensityPercentageEnd,this.metaRiskId,this.outputLevel,this.processingStatus,this.eventLossFloorStartRange,this.eventLossFloorEndRange,this.analysisPortfolioEventSetConfigurations,this.rowIdentifier});
AnalysisConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
windowStartDate = JsonConverters.fromJson(json['windowStartDate'],'DateTime',context!);
windowEndDate = JsonConverters.fromJson(json['windowEndDate'],'DateTime',context!);
standardEnabled = json['standardEnabled'];
runOffEnabled = json['runOffEnabled'];
aggregateEnabled = json['aggregateEnabled'];
occurrenceEnabled = json['occurrenceEnabled'];
nettEnabled = json['nettEnabled'];
grossEnabled = json['grossEnabled'];
tailIntensityPercentageStart = JsonConverters.toDouble(json['tailIntensityPercentageStart']);
tailIntensityPercentageEnd = JsonConverters.toDouble(json['tailIntensityPercentageEnd']);
metaRiskId = json['metaRiskId'];
outputLevel = JsonConverters.fromJson(json['outputLevel'],'ResultOutputLevel',context!);
processingStatus = JsonConverters.fromJson(json['processingStatus'],'ProcessingStatus',context!);
eventLossFloorStartRange = JsonConverters.toDouble(json['eventLossFloorStartRange']);
eventLossFloorEndRange = JsonConverters.toDouble(json['eventLossFloorEndRange']);
analysisPortfolioEventSetConfigurations = JsonConverters.fromJson(json['analysisPortfolioEventSetConfigurations'],'List<AnalysisPortfolioEventSetConfiguration>',context!);
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'windowStartDate': JsonConverters.toJson(windowStartDate,'DateTime',context!),
'windowEndDate': JsonConverters.toJson(windowEndDate,'DateTime',context!),
'standardEnabled': standardEnabled,
'runOffEnabled': runOffEnabled,
'aggregateEnabled': aggregateEnabled,
'occurrenceEnabled': occurrenceEnabled,
'nettEnabled': nettEnabled,
'grossEnabled': grossEnabled,
'tailIntensityPercentageStart': tailIntensityPercentageStart,
'tailIntensityPercentageEnd': tailIntensityPercentageEnd,
'metaRiskId': metaRiskId,
'outputLevel': JsonConverters.toJson(outputLevel,'ResultOutputLevel',context!),
'processingStatus': JsonConverters.toJson(processingStatus,'ProcessingStatus',context!),
'eventLossFloorStartRange': eventLossFloorStartRange,
'eventLossFloorEndRange': eventLossFloorEndRange,
'analysisPortfolioEventSetConfigurations': JsonConverters.toJson(analysisPortfolioEventSetConfigurations,'List<AnalysisPortfolioEventSetConfiguration>',context!),
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisConfiguration";
TypeContext? context = _ctx;
}
enum TransactionType
{
NotSet,
S,
B,
}
// @DataContract
class AnalysisPortfolioAllocation implements IObjectWithId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisDealId;
// @DataMember(Order=3)
// @Validate(Validator="NotEmpty", Message="PortfolioName is mandatory")
String? portfolioName;
// @DataMember(Order=4)
double? allocationPercentage;
// @DataMember(Order=5)
String? rowIdentifier;
AnalysisPortfolioAllocation({this.id,this.analysisDealId,this.portfolioName,this.allocationPercentage,this.rowIdentifier});
AnalysisPortfolioAllocation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisDealId = json['analysisDealId'];
portfolioName = json['portfolioName'];
allocationPercentage = JsonConverters.toDouble(json['allocationPercentage']);
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisDealId': analysisDealId,
'portfolioName': portfolioName,
'allocationPercentage': allocationPercentage,
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisPortfolioAllocation";
TypeContext? context = _ctx;
}
// @DataContract
class AnalysisDeal implements IObjectWithId, IHasAnalysisId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
String? sourceDealId;
// @DataMember(Order=4)
String? dealRef;
// @DataMember(Order=5)
String? sourceDealSystem;
// @DataMember(Order=6)
int? eventSetId;
// @DataMember(Order=7)
double? rol;
// @DataMember(Order=8)
double? limit;
// @DataMember(Order=9)
DateTime? inceptionDate;
// @DataMember(Order=10)
DateTime? expiryDate;
// @DataMember(Order=11)
TransactionType? transactionType;
// @DataMember(Order=12)
List<AnalysisPortfolioAllocation>? allocations;
// @DataMember(Order=13)
int? perspectiveIdOverride;
// @DataMember(Order=14)
int? eventSetIdOverride;
// @DataMember(Order=15)
DateTime? modelAsOfDateOverride;
// @DataMember(Order=16)
String? sourceModelSystemOverride;
// @DataMember(Order=17)
String? sourceModelIdOverride;
// @DataMember(Order=18)
String? sourceEventSetIdOverride;
// @DataMember(Order=19)
String? eventSourceSystemOverride;
// @DataMember(Order=20)
String? rowIdentifier;
AnalysisDeal({this.id,this.analysisId,this.sourceDealId,this.dealRef,this.sourceDealSystem,this.eventSetId,this.rol,this.limit,this.inceptionDate,this.expiryDate,this.transactionType,this.allocations,this.perspectiveIdOverride,this.eventSetIdOverride,this.modelAsOfDateOverride,this.sourceModelSystemOverride,this.sourceModelIdOverride,this.sourceEventSetIdOverride,this.eventSourceSystemOverride,this.rowIdentifier});
AnalysisDeal.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
sourceDealId = json['sourceDealId'];
dealRef = json['dealRef'];
sourceDealSystem = json['sourceDealSystem'];
eventSetId = json['eventSetId'];
rol = JsonConverters.toDouble(json['rol']);
limit = JsonConverters.toDouble(json['limit']);
inceptionDate = JsonConverters.fromJson(json['inceptionDate'],'DateTime',context!);
expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!);
transactionType = JsonConverters.fromJson(json['transactionType'],'TransactionType',context!);
allocations = JsonConverters.fromJson(json['allocations'],'List<AnalysisPortfolioAllocation>',context!);
perspectiveIdOverride = json['perspectiveIdOverride'];
eventSetIdOverride = json['eventSetIdOverride'];
modelAsOfDateOverride = JsonConverters.fromJson(json['modelAsOfDateOverride'],'DateTime',context!);
sourceModelSystemOverride = json['sourceModelSystemOverride'];
sourceModelIdOverride = json['sourceModelIdOverride'];
sourceEventSetIdOverride = json['sourceEventSetIdOverride'];
eventSourceSystemOverride = json['eventSourceSystemOverride'];
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'sourceDealId': sourceDealId,
'dealRef': dealRef,
'sourceDealSystem': sourceDealSystem,
'eventSetId': eventSetId,
'rol': rol,
'limit': limit,
'inceptionDate': JsonConverters.toJson(inceptionDate,'DateTime',context!),
'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!),
'transactionType': JsonConverters.toJson(transactionType,'TransactionType',context!),
'allocations': JsonConverters.toJson(allocations,'List<AnalysisPortfolioAllocation>',context!),
'perspectiveIdOverride': perspectiveIdOverride,
'eventSetIdOverride': eventSetIdOverride,
'modelAsOfDateOverride': JsonConverters.toJson(modelAsOfDateOverride,'DateTime',context!),
'sourceModelSystemOverride': sourceModelSystemOverride,
'sourceModelIdOverride': sourceModelIdOverride,
'sourceEventSetIdOverride': sourceEventSetIdOverride,
'eventSourceSystemOverride': eventSourceSystemOverride,
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisDeal";
TypeContext? context = _ctx;
}
// @DataContract
class AnalysisEventIdFilter implements IObjectWithId, IHasAnalysisId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
int? eventSourceId;
// @DataMember(Order=4)
int? eventId;
// @DataMember(Order=5)
String? rowIdentifier;
AnalysisEventIdFilter({this.id,this.analysisId,this.eventSourceId,this.eventId,this.rowIdentifier});
AnalysisEventIdFilter.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
eventSourceId = json['eventSourceId'];
eventId = json['eventId'];
rowIdentifier = json['rowIdentifier'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'eventSourceId': eventSourceId,
'eventId': eventId,
'rowIdentifier': rowIdentifier
};
getTypeName() => "AnalysisEventIdFilter";
TypeContext? context = _ctx;
}
enum MessageType
{
NotSet,
Persistence,
Archival,
}
// @DataContract
class MessageTracking implements IConvertible
{
// @DataMember(Order=1)
String? id;
// @DataMember(Order=2)
int? analysisId;
// @DataMember(Order=3)
ProcessingStatus? processingStatus;
// @DataMember(Order=4)
MessageType? messageType;
// @DataMember(Order=5)
DateTime? createdDateUtc;
// @DataMember(Order=6)
DateTime? updatedDateUtc;
MessageTracking({this.id,this.analysisId,this.processingStatus,this.messageType,this.createdDateUtc,this.updatedDateUtc});
MessageTracking.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
analysisId = json['analysisId'];
processingStatus = JsonConverters.fromJson(json['processingStatus'],'ProcessingStatus',context!);
messageType = JsonConverters.fromJson(json['messageType'],'MessageType',context!);
createdDateUtc = JsonConverters.fromJson(json['createdDateUtc'],'DateTime',context!);
updatedDateUtc = JsonConverters.fromJson(json['updatedDateUtc'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'analysisId': analysisId,
'processingStatus': JsonConverters.toJson(processingStatus,'ProcessingStatus',context!),
'messageType': JsonConverters.toJson(messageType,'MessageType',context!),
'createdDateUtc': JsonConverters.toJson(createdDateUtc,'DateTime',context!),
'updatedDateUtc': JsonConverters.toJson(updatedDateUtc,'DateTime',context!)
};
getTypeName() => "MessageTracking";
TypeContext? context = _ctx;
}
// @DataContract
class Analysis implements IObjectWithId, IConvertible
{
// @DataMember(Order=1)
int? id;
// @DataMember(Order=2)
String? name;
// @DataMember(Order=3)
DateTime? modelAsOfDate;
// @DataMember(Order=4)
int? perspectiveId;
// @DataMember(Order=5)
List<AnalysisConfiguration>? configurations;
// @DataMember(Order=6)
List<AnalysisDeal>? deals;
// @DataMember(Order=7)
List<AnalysisEventIdFilter>? eventIdFilters;
// @DataMember(Order=8)
String? createdBy;
// @DataMember(Order=9)
DateTime? createdDateUtc;
// @DataMember(Order=10)
DateTime? completedDateUtc;
// @DataMember(Order=11)
int? legacyAnalysisId;
// @DataMember(Order=12)
List<MessageTracking>? resultPersistenceTracking;
// @DataMember(Order=13)
ProcessingStatus? processingStatus;
// @DataMember(Order=14)
bool? saveResults;
// @DataMember(Order=15)
String? eventSourceSystem;
// @DataMember(Order=16)
DateTime? updatedDateUtc;
// @DataMember(Order=17)
bool? isExpired;
// @DataMember(Order=18)
String? rowIdentifier;
// @DataMember(Order=19)
String? errorMessage;
/**
* 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")
bool? ignoreSimulationCountMismatch;
// @DataMember(Order=21)
// @ignore()
ProcessingStatus? finalStatus;
Analysis({this.id,this.name,this.modelAsOfDate,this.perspectiveId,this.configurations,this.deals,this.eventIdFilters,this.createdBy,this.createdDateUtc,this.completedDateUtc,this.legacyAnalysisId,this.resultPersistenceTracking,this.processingStatus,this.saveResults,this.eventSourceSystem,this.updatedDateUtc,this.isExpired,this.rowIdentifier,this.errorMessage,this.ignoreSimulationCountMismatch,this.finalStatus});
Analysis.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
modelAsOfDate = JsonConverters.fromJson(json['modelAsOfDate'],'DateTime',context!);
perspectiveId = json['perspectiveId'];
configurations = JsonConverters.fromJson(json['configurations'],'List<AnalysisConfiguration>',context!);
deals = JsonConverters.fromJson(json['deals'],'List<AnalysisDeal>',context!);
eventIdFilters = JsonConverters.fromJson(json['eventIdFilters'],'List<AnalysisEventIdFilter>',context!);
createdBy = json['createdBy'];
createdDateUtc = JsonConverters.fromJson(json['createdDateUtc'],'DateTime',context!);
completedDateUtc = JsonConverters.fromJson(json['completedDateUtc'],'DateTime',context!);
legacyAnalysisId = json['legacyAnalysisId'];
resultPersistenceTracking = JsonConverters.fromJson(json['resultPersistenceTracking'],'List<MessageTracking>',context!);
processingStatus = JsonConverters.fromJson(json['processingStatus'],'ProcessingStatus',context!);
saveResults = json['saveResults'];
eventSourceSystem = json['eventSourceSystem'];
updatedDateUtc = JsonConverters.fromJson(json['updatedDateUtc'],'DateTime',context!);
isExpired = json['isExpired'];
rowIdentifier = json['rowIdentifier'];
errorMessage = json['errorMessage'];
ignoreSimulationCountMismatch = json['ignoreSimulationCountMismatch'];
finalStatus = JsonConverters.fromJson(json['finalStatus'],'ProcessingStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'modelAsOfDate': JsonConverters.toJson(modelAsOfDate,'DateTime',context!),
'perspectiveId': perspectiveId,
'configurations': JsonConverters.toJson(configurations,'List<AnalysisConfiguration>',context!),
'deals': JsonConverters.toJson(deals,'List<AnalysisDeal>',context!),
'eventIdFilters': JsonConverters.toJson(eventIdFilters,'List<AnalysisEventIdFilter>',context!),
'createdBy': createdBy,
'createdDateUtc': JsonConverters.toJson(createdDateUtc,'DateTime',context!),
'completedDateUtc': JsonConverters.toJson(completedDateUtc,'DateTime',context!),
'legacyAnalysisId': legacyAnalysisId,
'resultPersistenceTracking': JsonConverters.toJson(resultPersistenceTracking,'List<MessageTracking>',context!),
'processingStatus': JsonConverters.toJson(processingStatus,'ProcessingStatus',context!),
'saveResults': saveResults,
'eventSourceSystem': eventSourceSystem,
'updatedDateUtc': JsonConverters.toJson(updatedDateUtc,'DateTime',context!),
'isExpired': isExpired,
'rowIdentifier': rowIdentifier,
'errorMessage': errorMessage,
'ignoreSimulationCountMismatch': ignoreSimulationCountMismatch,
'finalStatus': JsonConverters.toJson(finalStatus,'ProcessingStatus',context!)
};
getTypeName() => "Analysis";
TypeContext? context = _ctx;
}
enum AnalysisType
{
NotSet,
Standard,
RunOff,
}
enum SimulationLossPerspective
{
NotSet,
Agg,
Occ,
}
enum ReinsurancePremiumLossType
{
NotSet,
Net,
Gross,
}
class AnalysisPortfolioMetric implements IHasAnalysisResultId, IConvertible
{
AnalysisType? analysisType;
SimulationLossPerspective? simulationLossPerspective;
ReinsurancePremiumLossType? reinsurancePremiumLossType;
String? metricDescription;
String? portfolioName;
double? metric;
int? metaRiskId;
int? simulation;
int? analysisResultId;
AnalysisPortfolioMetric({this.analysisType,this.simulationLossPerspective,this.reinsurancePremiumLossType,this.metricDescription,this.portfolioName,this.metric,this.metaRiskId,this.simulation,this.analysisResultId});
AnalysisPortfolioMetric.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
analysisType = JsonConverters.fromJson(json['analysisType'],'AnalysisType',context!);
simulationLossPerspective = JsonConverters.fromJson(json['simulationLossPerspective'],'SimulationLossPerspective',context!);
reinsurancePremiumLossType = JsonConverters.fromJson(json['reinsurancePremiumLossType'],'ReinsurancePremiumLossType',context!);
metricDescription = json['metricDescription'];
portfolioName = json['portfolioName'];
metric = JsonConverters.toDouble(json['metric']);
metaRiskId = json['metaRiskId'];
simulation = json['simulation'];
analysisResultId = json['analysisResultId'];
return this;
}
Map<String, dynamic> toJson() => {
'analysisType': JsonConverters.toJson(analysisType,'AnalysisType',context!),
'simulationLossPerspective': JsonConverters.toJson(simulationLossPerspective,'SimulationLossPerspective',context!),
'reinsurancePremiumLossType': JsonConverters.toJson(reinsurancePremiumLossType,'ReinsurancePremiumLossType',context!),
'metricDescription': metricDescription,
'portfolioName': portfolioName,
'metric': metric,
'metaRiskId': metaRiskId,
'simulation': simulation,
'analysisResultId': analysisResultId
};
getTypeName() => "AnalysisPortfolioMetric";
TypeContext? context = _ctx;
}
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 RollupResponse implements IConvertible
{
Analysis? analysis;
List<AnalysisPortfolioMetric>? portfolioMetrics;
List<AnalysisResult>? results;
ResponseStatus? responseStatus;
List<String>? unresolvedDealIds;
List<ValueTuple<String,String>>? unlinkedDealIds;
String? message;
RollupResponse({this.analysis,this.portfolioMetrics,this.results,this.responseStatus,this.unresolvedDealIds,this.unlinkedDealIds,this.message});
RollupResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
analysis = JsonConverters.fromJson(json['analysis'],'Analysis',context!);
portfolioMetrics = JsonConverters.fromJson(json['portfolioMetrics'],'List<AnalysisPortfolioMetric>',context!);
results = JsonConverters.fromJson(json['results'],'List<AnalysisResult>',context!);
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
unresolvedDealIds = JsonConverters.fromJson(json['unresolvedDealIds'],'List<String>',context!);
unlinkedDealIds = JsonConverters.fromJson(json['unlinkedDealIds'],'List<ValueTuple<String,String>>',context!);
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'analysis': JsonConverters.toJson(analysis,'Analysis',context!),
'portfolioMetrics': JsonConverters.toJson(portfolioMetrics,'List<AnalysisPortfolioMetric>',context!),
'results': JsonConverters.toJson(results,'List<AnalysisResult>',context!),
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
'unresolvedDealIds': JsonConverters.toJson(unresolvedDealIds,'List<String>',context!),
'unlinkedDealIds': JsonConverters.toJson(unlinkedDealIds,'List<ValueTuple<String,String>>',context!),
'message': message
};
getTypeName() => "RollupResponse";
TypeContext? context = _ctx;
}
class GetAnalysisRequest implements IGet, IConvertible
{
/**
* The analysis id
*/
// @ApiMember(DataType="integer", Description="The analysis id", Format="int64")
int? id;
/**
* The legacy analysis id
*/
// @ApiMember(DataType="integer", Description="The legacy analysis id", Format="int64")
int? legacyId;
/**
* True to not load all deal allocations, analysis runs etc...
*/
// @ApiMember(DataType="boolean", Description="True to not load all deal allocations, analysis runs etc...")
bool? onlyCoreData;
GetAnalysisRequest({this.id,this.legacyId,this.onlyCoreData});
GetAnalysisRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
legacyId = json['legacyId'];
onlyCoreData = json['onlyCoreData'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'legacyId': legacyId,
'onlyCoreData': onlyCoreData
};
getTypeName() => "GetAnalysisRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'riskstoreng_dev.nephila.com', types: <String, TypeInfo> {
'ResultOutputLevel': TypeInfo(TypeOf.Enum, enumValues:ResultOutputLevel.values),
'ProcessingStatus': TypeInfo(TypeOf.Enum, enumValues:ProcessingStatus.values),
'AnalysisPortfolioEventSetConfiguration': TypeInfo(TypeOf.Class, create:() => AnalysisPortfolioEventSetConfiguration()),
'AnalysisConfiguration': TypeInfo(TypeOf.Class, create:() => AnalysisConfiguration()),
'List<AnalysisPortfolioEventSetConfiguration>': TypeInfo(TypeOf.Class, create:() => <AnalysisPortfolioEventSetConfiguration>[]),
'TransactionType': TypeInfo(TypeOf.Enum, enumValues:TransactionType.values),
'AnalysisPortfolioAllocation': TypeInfo(TypeOf.Class, create:() => AnalysisPortfolioAllocation()),
'AnalysisDeal': TypeInfo(TypeOf.Class, create:() => AnalysisDeal()),
'List<AnalysisPortfolioAllocation>': TypeInfo(TypeOf.Class, create:() => <AnalysisPortfolioAllocation>[]),
'AnalysisEventIdFilter': TypeInfo(TypeOf.Class, create:() => AnalysisEventIdFilter()),
'MessageType': TypeInfo(TypeOf.Enum, enumValues:MessageType.values),
'MessageTracking': TypeInfo(TypeOf.Class, create:() => MessageTracking()),
'Analysis': TypeInfo(TypeOf.Class, create:() => Analysis()),
'List<AnalysisConfiguration>': TypeInfo(TypeOf.Class, create:() => <AnalysisConfiguration>[]),
'List<AnalysisDeal>': TypeInfo(TypeOf.Class, create:() => <AnalysisDeal>[]),
'List<AnalysisEventIdFilter>': TypeInfo(TypeOf.Class, create:() => <AnalysisEventIdFilter>[]),
'List<MessageTracking>': TypeInfo(TypeOf.Class, create:() => <MessageTracking>[]),
'AnalysisType': TypeInfo(TypeOf.Enum, enumValues:AnalysisType.values),
'SimulationLossPerspective': TypeInfo(TypeOf.Enum, enumValues:SimulationLossPerspective.values),
'ReinsurancePremiumLossType': TypeInfo(TypeOf.Enum, enumValues:ReinsurancePremiumLossType.values),
'AnalysisPortfolioMetric': TypeInfo(TypeOf.Class, create:() => AnalysisPortfolioMetric()),
'AnalysisPortfolioEventSetResult': TypeInfo(TypeOf.Class, create:() => AnalysisPortfolioEventSetResult()),
'AnalysisResult': TypeInfo(TypeOf.Class, create:() => AnalysisResult()),
'List<AnalysisPortfolioEventSetResult>': TypeInfo(TypeOf.Class, create:() => <AnalysisPortfolioEventSetResult>[]),
'RollupResponse': TypeInfo(TypeOf.Class, create:() => RollupResponse()),
'List<AnalysisPortfolioMetric>': TypeInfo(TypeOf.Class, create:() => <AnalysisPortfolioMetric>[]),
'List<AnalysisResult>': TypeInfo(TypeOf.Class, create:() => <AnalysisResult>[]),
'List<ValueTuple<String,String>>': TypeInfo(TypeOf.Class, create:() => <ValueTuple<String,String>>[]),
'ValueTuple<String,String>': TypeInfo(TypeOf.Class, create:() => ValueTuple<String,String>()),
'GetAnalysisRequest': TypeInfo(TypeOf.Class, create:() => GetAnalysisRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/riskstore/analysis/results HTTP/1.1 Host: riskstoreng-dev.nephila.com Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"analysis":{"id":0,"name":"String","modelAsOfDate":"0001-01-01T00:00:00.0000000Z","perspectiveId":0,"configurations":[{"id":0,"analysisId":0,"windowStartDate":"0001-01-01T00:00:00.0000000Z","windowEndDate":"0001-01-01T00:00:00.0000000Z","standardEnabled":false,"runOffEnabled":false,"aggregateEnabled":false,"occurrenceEnabled":false,"nettEnabled":false,"grossEnabled":false,"tailIntensityPercentageStart":0,"tailIntensityPercentageEnd":0,"metaRiskId":0,"outputLevel":"NotSet","processingStatus":"New","eventLossFloorStartRange":0,"eventLossFloorEndRange":0,"analysisPortfolioEventSetConfigurations":[{"id":0,"analysisId":0,"analysisConfigurationId":0,"portfolioName":"String","modelId":"String","rowIdentifier":"00000000000000000000000000000000"}],"rowIdentifier":"00000000000000000000000000000000"}],"deals":[{"id":0,"analysisId":0,"sourceDealId":"String","dealRef":"String","sourceDealSystem":"String","eventSetId":0,"rol":0,"limit":0,"inceptionDate":"0001-01-01T00:00:00.0000000Z","expiryDate":"0001-01-01T00:00:00.0000000Z","transactionType":"NotSet","allocations":[{"id":0,"analysisDealId":0,"portfolioName":"String","allocationPercentage":0,"rowIdentifier":"00000000000000000000000000000000"}],"perspectiveIdOverride":0,"eventSetIdOverride":0,"modelAsOfDateOverride":"0001-01-01T00:00:00.0000000Z","sourceModelSystemOverride":"String","sourceModelIdOverride":"String","sourceEventSetIdOverride":"String","eventSourceSystemOverride":"String","rowIdentifier":"00000000000000000000000000000000"}],"eventIdFilters":[{"id":0,"analysisId":0,"eventSourceId":0,"eventId":0,"rowIdentifier":"00000000000000000000000000000000"}],"createdBy":"String","createdDateUtc":"0001-01-01T00:00:00.0000000Z","completedDateUtc":"0001-01-01T00:00:00.0000000Z","legacyAnalysisId":0,"resultPersistenceTracking":[{"id":"00000000000000000000000000000000","analysisId":0,"processingStatus":"New","messageType":"NotSet","createdDateUtc":"0001-01-01T00:00:00.0000000Z","updatedDateUtc":"0001-01-01T00:00:00.0000000Z"}],"processingStatus":"New","saveResults":false,"eventSourceSystem":"String","updatedDateUtc":"0001-01-01T00:00:00.0000000Z","isExpired":false,"rowIdentifier":"00000000000000000000000000000000","errorMessage":"String","ignoreSimulationCountMismatch":false,"finalStatus":"New"},"portfolioMetrics":[{"analysisType":"NotSet","simulationLossPerspective":"NotSet","reinsurancePremiumLossType":"NotSet","metricDescription":"String","portfolioName":"String","metric":0,"metaRiskId":0,"simulation":0,"analysisResultId":0}],"results":[{"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"}],"responseStatus":{"__type":"ServiceStack.ResponseStatus, ServiceStack.Interfaces","errorCode":"String","message":"String","stackTrace":"String","errors":[{"__type":"ServiceStack.ResponseError, ServiceStack.Interfaces","errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"unresolvedDealIds":["String"],"unlinkedDealIds":["(, )"],"message":"String"}