Nephila RiskStore

<back to all web services

FindAnalysisRequest

General
Requires Authentication
Requires any of the roles:Riskstore.Write, Riskstore.Admin
The following routes are available for this service:
GET/api/riskstore/analysisSearch for analyses
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 FindAnalysisRequest
        : QueryDb<Analysis>
    {
        ///<summary>
        ///The Ids of the Analyses
        ///</summary>
        [ApiMember(DataType="integer", Description="The Ids of the Analyses", Format="int64")]
        public virtual long[] Ids { get; set; }

        ///<summary>
        ///The partial name of the analyses
        ///</summary>
        [ApiMember(DataType="string", Description="The partial name of the analyses")]
        public virtual string Name { get; set; }

        ///<summary>
        ///Filter only Standard analysis type
        ///</summary>
        [ApiMember(DataType="boolean", Description="Filter only Standard analysis type")]
        public virtual bool? StandardEnabled { get; set; }

        ///<summary>
        ///Filter only Run Off analysis type
        ///</summary>
        [ApiMember(DataType="boolean", Description="Filter only Run Off analysis type")]
        public virtual bool? RunOffEnabled { get; set; }

        ///<summary>
        ///The perspective id used for the analysis
        ///</summary>
        [ApiMember(DataType="integer", Description="The perspective id used for the analysis", Format="int32")]
        public virtual int? PerspectiveId { get; set; }

        ///<summary>
        ///The partial name of the user who run the analysis
        ///</summary>
        [ApiMember(DataType="string", Description="The partial name of the user who run the analysis")]
        public virtual string CreatedBy { get; set; }

        ///<summary>
        ///The analysis run date to filter from
        ///</summary>
        [ApiMember(DataType="string", Description="The analysis run date to filter from", Format="date-time")]
        public virtual DateTime? AnalysisRunFromDateTime { get; set; }

        ///<summary>
        ///The analysis run date to filter to
        ///</summary>
        [ApiMember(DataType="string", Description="The analysis run date to filter to", Format="date-time")]
        public virtual DateTime? AnalysisRunToDateTime { get; set; }

        ///<summary>
        ///The status of the analysis. 1 = Processing, 10 = Failed, 20 = Successful
        ///</summary>
        [ApiMember(DataType="integer", Description="The status of the analysis. 1 = Processing, 10 = Failed, 20 = Successful", Format="int32")]
        public virtual ProcessingStatus? ProcessingStatus { 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; }
    }

    [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; }
    }

}

C# FindAnalysisRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/riskstore/analysis 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: 
	[
		{
			id: 0,
			name: String,
			modelAsOfDate: 0001-01-01,
			perspectiveId: 0,
			configurations: 
			[
				{
					id: 0,
					analysisId: 0,
					windowStartDate: 0001-01-01,
					windowEndDate: 0001-01-01,
					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-01,
					expiryDate: 0001-01-01,
					transactionType: NotSet,
					allocations: 
					[
						{
							id: 0,
							analysisDealId: 0,
							portfolioName: String,
							allocationPercentage: 0,
							rowIdentifier: 00000000000000000000000000000000
						}
					],
					perspectiveIdOverride: 0,
					eventSetIdOverride: 0,
					modelAsOfDateOverride: 0001-01-01,
					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-01,
			completedDateUtc: 0001-01-01,
			legacyAnalysisId: 0,
			resultPersistenceTracking: 
			[
				{
					id: 00000000000000000000000000000000,
					analysisId: 0,
					processingStatus: New,
					messageType: NotSet,
					createdDateUtc: 0001-01-01,
					updatedDateUtc: 0001-01-01
				}
			],
			processingStatus: New,
			saveResults: False,
			eventSourceSystem: String,
			updatedDateUtc: 0001-01-01,
			isExpired: False,
			rowIdentifier: 00000000000000000000000000000000,
			errorMessage: String,
			ignoreSimulationCountMismatch: False,
			finalStatus: New
		}
	],
	meta: 
	{
		String: String
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}