using System;
using AIR.Services.Common.Data;
using AIR.Services.HazardAnalysis.Api;
using AIR.Services.HazardAnalysis.Data;
class SnippetSubmitHazardAnalysisRequest
{
private static void SubmitHazardAnalysis(int businessUnitSid, int sqlInstanceSid, int projectSid, int exposureViewSid, int resultDSSid,
string currency, int currencyExchangeRateSid, string analysisName, string analysisDesc)
{
HazardAnalysisServiceClient hazardClient = new HazardAnalysisServiceClient();
SubmitHazardAnalysisRequest request = new SubmitHazardAnalysisRequest();
request.BusinessUnitSid = businessUnitSid;
request.SqlInstanceSid = sqlInstanceSid;
HazardAnalysisOptions options = new HazardAnalysisOptions();
options.ProjectSid = projectSid;
options.ExposureTarget = new AIR.Services.AnalysisCommon.Data.ExposureTarget
{
Sid = exposureViewSid,
Type = AIR.Services.AnalysisCommon.Data.ExposureTargetType.ExposureView
};
options.IncludeEarthquakeProfile = true;
options.IncludeFloodProfile = true;
options.FloodProfileOptions = new FloodProfileOptions()
{
IncludeFemaFloodZone = true,
IncludeElevation = true
};
options.IncludeHurricaneProfile = true;
options.IncludeExposureAttributeProfile = true;
options.ExposureAttributeOptions = new ExposureAttributeOptions()
{
IncludeConstruction = true,
IncludeOccupancy = true,
};
options.IncludeSevereThunderstormProfile = true;
options.SevereThunderstormProfileOptions = new SevereThunderstormProfileOptions()
{
IncludeLossLevel100Year = true,
IncludeWindStormFrequency = true
};
options.IncludeTerrorismProfile = true;
options.Name = analysisName;
options.Description = analysisDesc;
options.ResultDataSourceSid = resultDSSid;
options.Currency = currency;
options.CurrencyExchangeRateSid = currencyExchangeRateSid;
options.IncludeEventIntensityAnalysis = true;
options.EventSetStandardName = "10K_US_AP_ST";
options.IncludeCoastalFloodForEventIntensity = true;
options.CoastalFloodEventIntensityOptions = new CoastalFloodEventIntensityOptions()
{
IncludeOnPlainFloodDepth = true
};
options.IncludeEarthquakeForEventIntensity = true;
options.EarthquakeEventIntensityOptions = new EarthquakeEventIntensityOptions()
{
IncludePeakGroundAcceleration = true
};
options.IncludeInlandFloodForEventIntensity = true;
options.InlandFloodEventIntensityOptions = new InlandFloodEventIntensityOptions()
{
IncludeOnPlainFloodDepth = true
};
options.IncludeHurricaneForEventIntensity = true;
options.HurricaneEventIntensityOptions = new HurricaneEventIntensityOptions()
{
IncludeMaximumWindSpeed = true,
IncludeStormSurgeDepth = true
};
request.HazardAnalysisOptions = options;
SubmitHazardAnalysisResponse response = hazardClient.SubmitHazardAnalysis(request);
if (response.Status.Code == StatusCode.Success)
{
Console.WriteLine("Hazard Analysis submitted with Activity sid: " + response.ActivitySid);
}
}
}