| GET | /api/riskstore/eventset/search | Search for event sets |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Nephila.RiskStore.ServiceModel.Requests;
using Nephila.RiskStore.ServiceModel.Types;
using Nephila.RiskStore.ServiceModel;
namespace Nephila.RiskStore.ServiceModel.Requests
{
public partial class FindEventSetRequest
: QueryDb<EventSet>
{
///<summary>
///Source Model System
///</summary>
[ApiMember(DataType="string", Description="Source Model System")]
public virtual string SourceModelSystem { get; set; }
///<summary>
///Model Id
///</summary>
[ApiMember(DataType="string", Description="Model Id")]
public virtual string ModelId { get; set; }
///<summary>
///The perspective id for the event set
///</summary>
[ApiMember(DataType="integer", Description="The perspective id for the event set", Format="int32")]
public virtual int? PerspectiveId { get; set; }
///<summary>
///Source Event Set Id
///</summary>
[ApiMember(DataType="string", Description="Source Event Set Id", Format="uuid")]
public virtual Guid? SourceEventSetId { get; set; }
}
}
namespace Nephila.RiskStore.ServiceModel.Types
{
[DataContract]
public partial class Analysis
: IObjectWithId
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual string Name { get; set; }
[DataMember(Order=3)]
public virtual DateTime? ModelAsOfDate { get; set; }
[DataMember(Order=4)]
public virtual int PerspectiveId { get; set; }
[DataMember(Order=5)]
public virtual List<AnalysisConfiguration> Configurations { get; set; }
[DataMember(Order=6)]
public virtual List<AnalysisDeal> Deals { get; set; }
[DataMember(Order=7)]
public virtual List<AnalysisEventIdFilter> EventIdFilters { get; set; }
[DataMember(Order=8)]
public virtual string CreatedBy { get; set; }
[DataMember(Order=9)]
public virtual DateTime CreatedDateUtc { get; set; }
[DataMember(Order=10)]
public virtual DateTime? CompletedDateUtc { get; set; }
[DataMember(Order=11)]
public virtual long? LegacyAnalysisId { get; set; }
[DataMember(Order=12)]
public virtual List<MessageTracking> ResultPersistenceTracking { get; set; }
[DataMember(Order=13)]
public virtual ProcessingStatus ProcessingStatus { get; set; }
[DataMember(Order=14)]
public virtual bool SaveResults { get; set; }
[DataMember(Order=15)]
public virtual string EventSourceSystem { get; set; }
[DataMember(Order=16)]
public virtual DateTime UpdatedDateUtc { get; set; }
[DataMember(Order=17)]
public virtual bool IsExpired { get; set; }
[DataMember(Order=18)]
public virtual Guid RowIdentifier { get; set; }
[DataMember(Order=19)]
public virtual string ErrorMessage { get; set; }
///<summary>
///Take the minimum simulation count when we have different simulations between event sets
///</summary>
[DataMember(Order=20)]
[ApiMember(DataType="boolean", Description="Take the minimum simulation count when we have different simulations between event sets")]
public virtual bool IgnoreSimulationCountMismatch { get; set; }
[DataMember(Order=21)]
[Ignore]
public virtual ProcessingStatus FinalStatus { get; set; }
}
[DataContract]
public partial class AnalysisConfiguration
: IObjectWithId, IHasAnalysisId
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual long AnalysisId { get; set; }
[DataMember(Order=3)]
public virtual DateTime? WindowStartDate { get; set; }
[DataMember(Order=4)]
public virtual DateTime? WindowEndDate { get; set; }
[DataMember(Order=5)]
public virtual bool StandardEnabled { get; set; }
[DataMember(Order=6)]
public virtual bool RunOffEnabled { get; set; }
[DataMember(Order=7)]
public virtual bool AggregateEnabled { get; set; }
[DataMember(Order=8)]
public virtual bool OccurrenceEnabled { get; set; }
[DataMember(Order=9)]
public virtual bool NettEnabled { get; set; }
[DataMember(Order=10)]
public virtual bool GrossEnabled { get; set; }
[DataMember(Order=11)]
public virtual decimal? TailIntensityPercentageStart { get; set; }
[DataMember(Order=12)]
public virtual decimal? TailIntensityPercentageEnd { get; set; }
[DataMember(Order=13)]
public virtual int MetaRiskId { get; set; }
[DataMember(Order=14)]
public virtual ResultOutputLevel OutputLevel { get; set; }
[DataMember(Order=15)]
public virtual ProcessingStatus ProcessingStatus { get; set; }
[DataMember(Order=16)]
public virtual decimal? EventLossFloorStartRange { get; set; }
[DataMember(Order=17)]
public virtual decimal? EventLossFloorEndRange { get; set; }
[DataMember(Order=18)]
public virtual List<AnalysisPortfolioEventSetConfiguration> AnalysisPortfolioEventSetConfigurations { get; set; }
[DataMember(Order=19)]
public virtual Guid RowIdentifier { get; set; }
}
[DataContract]
public partial class AnalysisDeal
: IObjectWithId, IHasAnalysisId
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual long AnalysisId { get; set; }
[DataMember(Order=3)]
public virtual string SourceDealId { get; set; }
[DataMember(Order=4)]
public virtual string DealRef { get; set; }
[DataMember(Order=5)]
public virtual string SourceDealSystem { get; set; }
[DataMember(Order=6)]
public virtual long EventSetId { get; set; }
[DataMember(Order=7)]
public virtual double ROL { get; set; }
[DataMember(Order=8)]
public virtual double Limit { get; set; }
[DataMember(Order=9)]
public virtual DateTime InceptionDate { get; set; }
[DataMember(Order=10)]
public virtual DateTime ExpiryDate { get; set; }
[DataMember(Order=11)]
public virtual TransactionType TransactionType { get; set; }
[DataMember(Order=12)]
public virtual List<AnalysisPortfolioAllocation> Allocations { get; set; }
[DataMember(Order=13)]
public virtual int? PerspectiveIdOverride { get; set; }
[DataMember(Order=14)]
public virtual long? EventSetIdOverride { get; set; }
[DataMember(Order=15)]
public virtual DateTime? ModelAsOfDateOverride { get; set; }
[DataMember(Order=16)]
public virtual string SourceModelSystemOverride { get; set; }
[DataMember(Order=17)]
public virtual string SourceModelIdOverride { get; set; }
[DataMember(Order=18)]
public virtual string SourceEventSetIdOverride { get; set; }
[DataMember(Order=19)]
public virtual string EventSourceSystemOverride { get; set; }
[DataMember(Order=20)]
public virtual Guid RowIdentifier { get; set; }
}
[DataContract]
public partial class AnalysisEventIdFilter
: IObjectWithId, IHasAnalysisId
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual long AnalysisId { get; set; }
[DataMember(Order=3)]
public virtual int EventSourceId { get; set; }
[DataMember(Order=4)]
public virtual long EventId { get; set; }
[DataMember(Order=5)]
public virtual Guid RowIdentifier { get; set; }
}
[DataContract]
public partial class AnalysisPortfolioAllocation
: IObjectWithId
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual long AnalysisDealId { get; set; }
[DataMember(Order=3)]
[Validate("NotEmpty", Message="PortfolioName is mandatory")]
public virtual string PortfolioName { get; set; }
[DataMember(Order=4)]
public virtual double AllocationPercentage { get; set; }
[DataMember(Order=5)]
public virtual Guid RowIdentifier { get; set; }
}
public partial class AnalysisPortfolioEventSetConfiguration
: IObjectWithId, IHasAnalysisId
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual long AnalysisId { get; set; }
[DataMember(Order=3)]
public virtual long AnalysisConfigurationId { get; set; }
[DataMember(Order=4)]
public virtual string PortfolioName { get; set; }
[DataMember(Order=5)]
public virtual string ModelId { get; set; }
[DataMember(Order=6)]
public virtual Guid RowIdentifier { get; set; }
}
public partial class EventSet
{
public virtual long EventSetId { get; set; }
public virtual ProcessingStatus ProcessingStatus { get; set; }
public virtual string SourceModelSystem { get; set; }
public virtual string SourceEventSetId { get; set; }
public virtual string ModelId { get; set; }
public virtual int PerspectiveId { get; set; }
public virtual int SimulationCount { get; set; }
public virtual string ProgramCalculationId { get; set; }
public virtual string Description { get; set; }
public virtual double Limit { get; set; }
public virtual int Reinstatements { get; set; }
public virtual string EventSourceType { get; set; }
public virtual string EventSetOriginId { get; set; }
public virtual string EventSetOriginName { get; set; }
public virtual string EventSetOriginType { get; set; }
public virtual string SourceEventSetLossContainer { get; set; }
public virtual string SourceEventSetLossPath { get; set; }
public virtual string Resolution { get; set; }
public virtual string ResultsHash { get; set; }
public virtual double ExpectedLossAggregate { get; set; }
public virtual double ExpectedLossOccurrence { get; set; }
public virtual double ProbabilityOfAttachment { get; set; }
public virtual double ProbabilityOfExhaustion { get; set; }
public virtual DateTime ApprovedDateTimeUtc { get; set; }
public virtual string ApprovedBy { get; set; }
public virtual long EventSourceId { get; set; }
public virtual DateTime ValidFromUtc { get; set; }
public virtual DateTime ValidToUtc { get; set; }
public virtual string Container { get; set; }
public virtual string BlobName { get; set; }
public virtual DateTime UpdatedDateUtc { get; set; }
public virtual bool IsArchived { get; set; }
public virtual string ArchivedLossDataBlobPath { get; set; }
public virtual string ArchivedLossDataHash { get; set; }
public virtual EventSetTelemetry EventSetTelemetry { get; set; }
}
public partial class EventSetTelemetry
{
public virtual long EventSetId { get; set; }
public virtual DateTime? StartedDateTimeUtc { get; set; }
public virtual DateTime? EndedDateTimeUct { get; set; }
public virtual int EventLossCount { get; set; }
}
[DataContract]
public partial class MessageTracking
{
[DataMember(Order=1)]
public virtual Guid Id { get; set; }
[DataMember(Order=2)]
public virtual long? AnalysisId { get; set; }
[DataMember(Order=3)]
public virtual ProcessingStatus ProcessingStatus { get; set; }
[DataMember(Order=4)]
public virtual MessageType MessageType { get; set; }
[DataMember(Order=5)]
public virtual DateTime CreatedDateUtc { get; set; }
[DataMember(Order=6)]
public virtual DateTime UpdatedDateUtc { get; set; }
}
}
namespace ServiceStack
{
[DataContract]
public partial class QueryBase
{
[DataMember(Order=1)]
public virtual int? Skip { get; set; }
[DataMember(Order=2)]
public virtual int? Take { get; set; }
[DataMember(Order=3)]
public virtual string OrderBy { get; set; }
[DataMember(Order=4)]
public virtual string OrderByDesc { get; set; }
[DataMember(Order=5)]
public virtual string Include { get; set; }
[DataMember(Order=6)]
public virtual string Fields { get; set; }
[DataMember(Order=7)]
public virtual Dictionary<string, string> Meta { get; set; }
}
public partial class QueryDb<T>
: QueryBase
{
}
[DataContract]
public partial class QueryResponse<T>
{
[DataMember(Order=1)]
public virtual int Offset { get; set; }
[DataMember(Order=2)]
public virtual int Total { get; set; }
[DataMember(Order=3)]
public virtual List<Analysis> Results { get; set; }
[DataMember(Order=4)]
public virtual Dictionary<string, string> Meta { get; set; }
[DataMember(Order=5)]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
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.
GET /api/riskstore/eventset/search HTTP/1.1 Host: riskstoreng-dev.nephila.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
offset: 0,
total: 0,
results:
[
{
eventSetId: 0,
processingStatus: New,
sourceModelSystem: String,
sourceEventSetId: String,
modelId: String,
perspectiveId: 0,
simulationCount: 0,
programCalculationId: String,
description: String,
limit: 0,
reinstatements: 0,
eventSourceType: String,
eventSetOriginId: String,
eventSetOriginName: String,
eventSetOriginType: String,
sourceEventSetLossContainer: String,
sourceEventSetLossPath: String,
resolution: String,
resultsHash: String,
expectedLossAggregate: 0,
expectedLossOccurrence: 0,
probabilityOfAttachment: 0,
probabilityOfExhaustion: 0,
approvedDateTimeUtc: 0001-01-01,
approvedBy: String,
eventSourceId: 0,
validFromUtc: 0001-01-01,
validToUtc: 0001-01-01,
container: String,
blobName: String,
updatedDateUtc: 0001-01-01,
isArchived: False,
archivedLossDataBlobPath: String,
archivedLossDataHash: String,
eventSetTelemetry:
{
eventSetId: 0,
startedDateTimeUtc: 0001-01-01,
endedDateTimeUct: 0001-01-01,
eventLossCount: 0
}
}
],
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}