using AIR.Services.Common.Data;
using AIR.Services.Reinsurance.ProgramManagement.Api;
using System;
using System.Collections.Generic;
class SnippetCreateProgram
{
private static void CreateProgram(int businessUnitSid, int sqlInstanceSid, int companySid, int expsoureSetSid)
{
ReinsuranceProgramManagementServiceClient client = new ReinsuranceProgramManagementServiceClient();
// Create a new instance of CreateProgramRequest
CreateProgramRequest request = new CreateProgramRequest();
// Set the BusinessUnitSid property (required property)
request.BusinessUnitSid = _businessUnitSid;
// Set the SqlInstanceSid property (required property)
request.SqlInstanceSid = _sqlServerSid;
// Set the Program property (required property)
request.Program = new AIR.Services.Reinsurance.ProgramManagement.Data.Program()
{
CompanySid = companySid,
Name = "Program created on " + DateTime.Now.ToString("dd MMM yyyy HH:mm"),
ProgramTypeCode = ProgramTypeCode.CatastropheBond,
ProgramTypeCode = ProgramTypeCode.CatastropheExcessOfLoss,
CatBondNotes = catBondValues,
Targets = new List()
{
new ProgramTarget()
{
ExposureSetSid = expsoureSetSid,
ExposureTypeCode = ExposureTypeCode.SumsInsured,
IsLatestYear = true
}
},
Layers = new List()
{
new Layer()
{
CusipID = "CB",
AnnualSpreadPercent = 22,
PrincipalAmount = 222222,
ID = "Layer1",
SubmitStatusCode = AIR.Services.Common.Exposure.Data.ContractStatus.Bound,
PerilSetCode = PerilSetCode.AllLicensedPerils,
TriggerStartingEventNumber = 1,
CoinsurancePercent = 99.99,
ParticipationGrossPercent = 0,
ParticipationNetPercent = 0,
Participation3Percent = 0,
Participation4Percent = 0,
PercentPlaced = 90,
Reinstatement = 2,
Premium = 1000,
OccurrenceLimit = 10000,
OccurrenceRetention = 1000000,
AggregateLimit = 10000,
AggregateRetention = 1000000,
TriggerCompanyLossMaximum = 1000000,
TriggerCompanyLossMinimum = 10000,
TriggerIndustryLossMinimum = 10000,
TriggerIndustryLossMaximum = 1000000,
AggregateResetDay = 4,
TerrorismSetCode = TerrorismOptions.TerrorismCovered | TerrorismOptions.CBRNInternational | TerrorismOptions.CBRNPollutionExclusion,
ReinstatementPremiums = new List()
{
new AIR.Services.Reinsurance.Common.Data.ReinstatementPremium()
{
PercentOfInitialPremium = 90, TimeProvisionPercent = "85", AmountProvisionPercent = "Pro Rata", },
new AIR.Services.Reinsurance.Common.Data.ReinstatementPremium()
{
PercentOfInitialPremium = 77, TimeProvisionPercent = "Pro Rata", AmountProvisionPercent = "55.33", }
},
StepLayers = new List()
{
new Layer()
{
ID = "steplayer1",
PerilSetCode= PerilSetCode.Earthquake | PerilSetCode.Terrorism,
},
},
Lookup GeographySid in [AIRGeography].[dbo].[tGeography]
AppliesToArea = new AIR.Services.Reinsurance.Common.Data.ReinsuranceAppliesToArea()
{
Name = "US",
GeographyItems = new List;()
{
new AIR.Services.Geography.Data.GeographyLeafItem()
{
GeographySid=234,
CededPercentage = 25.56
},
new AIR.Services.Geography.Data.GeographyLeafItem()
{
GeographySid=233,
CededPercentage = 33.89
}
}
},
AppliesToEventsFilters = new List;()
{
new AIR.Services.Reinsurance.Common.Data.ReinsuranceAppliesToEventsFilter()
{
GeographySids = new List
{
234,233
},
Name = "Event subsets",
EventParameters = new List;AIR.Services.LossAnalysis.EventFilter.Data.FilterByRule>()
{
new AIR.Services.LossAnalysis.EventFilter.Data.FilterByRule()
{
EventAttributeID = 1,
OperatorID = AIR.Services.LossAnalysis.EventFilter.Data.Operator.IsLessThan,
Value1 = 45,
},
new AIR.Services.LossAnalysis.EventFilter.Data.FilterByRule()
{
EventAttributeID = 12,
OperatorID = AIR.Services.LossAnalysis.EventFilter.Data.Operator.IsEqualTo,
Value1 = 0
},
new AIR.Services.LossAnalysis.EventFilter.Data.FilterByRule()
{
EventAttributeID = 8,
OperatorID = AIR.Services.LossAnalysis.EventFilter.Data.Operator.IsEqualTo,
Value1 = 0
},
new AIR.Services.LossAnalysis.EventFilter.Data.FilterByRule()
{
EventAttributeID = 13,
OperatorID = AIR.Services.LossAnalysis.EventFilter.Data.Operator.IsNotEqualTo,
Value1 = 1.2
}
}
}
}
}
},
};
{
CreateProgramResponse response = TouchstoneClients.ReinsuranceProgramManagementClient.CreateProgram(request);
if (ValidateResponse(response))
{
Console.WriteLine("Successfully created program with Sid: " + response.Program.Sid);
}
}