using System;
using System.Collections.Generic;
using AIR.Services.Common.Data;
using AIR.Services.ExposureConcentrationAnalysis.Api;
using AIR.Services.ExposureConcentrationAnalysis.Data;
using AIR.Services.ExposureConcentrationAnalysis.ZoneManagement.Api;
using AIR.Services.LossAnalysis.Data;
class SnippetSubmitZoneExposureConcentrationAnalysisRequest
{
private static void SubmitZoneExposureConcentrationAnalysis(int businessUnitSid, int sqlInstanceSid, int projectSid, int exposureViewSid,
List<int> zoneSets, int resultDSSid, string currency, int currencyExchangeRateSid,
string analysisName, string analysisDesc)
{
ExposureConcentrationAnalysisServiceClient ecaClient = new ExposureConcentrationAnalysisServiceClient();
SubmitZoneExposureConcentrationAnalysisRequest ecaZoneRequest = new SubmitZoneExposureConcentrationAnalysisRequest();
ecaZoneRequest.BusinessUnitSid = businessUnitSid;
ecaZoneRequest.SqlInstanceSid = sqlInstanceSid;
ZoneAnalysisOptions zoneOptions = new ZoneAnalysisOptions();
zoneOptions.ProjectSid = projectSid;
zoneOptions.ExposureTarget = new AIR.Services.AnalysisCommon.Data.ExposureTarget
{
Sid = exposureViewSid,
Type = AIR.Services.AnalysisCommon.Data.ExposureTargetType.ExposureView
};
zoneOptions.ExposedLimits = ExposedLimits.None;
zoneOptions.ZoneSetSids = zoneSets;
zoneOptions.ApplyDisaggregation = false;
zoneOptions.ResultsSaveBy = ResultsSaveBy.SaveReplacementValues | ResultsSaveBy.SaveNumberofLocations | ResultsSaveBy.SaveNumberofRisks
| ResultsSaveBy.SaveContract | ResultsSaveBy.SaveLayer | ResultsSaveBy.SaveLocation;
zoneOptions.ReinsuranceProgramSid = 0;
zoneOptions.FacultativeReinsuranceOptions = FacultativeReinsuranceOptions.DoNotApply;
zoneOptions.Name = analysisName;
zoneOptions.Description = analysisDesc;
zoneOptions.ResultDataSourceSid = resultDSSid;
zoneOptions.Currency = currency;
zoneOptions.CurrencyExchangeRateSid = currencyExchangeRateSid;
ecaZoneRequest.Options = zoneOptions;
SubmitZoneExposureConcentrationAnalysisResponse ecaZoneResponse = ecaClient.SubmitZoneExposureConcentrationAnalysis(ecaZoneRequest);
if (ecaZoneResponse.Status.Code == StatusCode.Success)
{
Console.WriteLine("Zone Geospatial Analysis submitted with Activity SID: " + ecaZoneResponse.ActivitySid);
}
}
}