using System;
using AIR.Services.Common.Data;
using AIR.Services.ExposureManagement.Api;
using AIR.Services.Common.Exposure.Data;
using AIR.Services.DataSourceManagement.Api;
class SnippetGetLocationsRequest
{
private static void GetLocations(int businessUnitSid, int sqlInstanceSid, int dataSourceSid, ExposureSet exposureSet, int contractSid, int exposureViewSid)
{
ExposureManagementServiceClient exposureManagementClient = new ExposureManagementServiceClient();
GetLocationsRequest getLocationsRequest = new GetLocationsRequest();
getLocationsRequest.BusinessUnitSid = businessUnitSid;
getLocationsRequest.SqlInstanceSid = sqlInstanceSid;
getLocationsRequest.ExposureSet = exposureSet;
getLocationsRequest.ContractSid = contractSid;
getLocationsRequest.ExposureViewSid = exposureViewSid;
getLocationsRequest.UseExposureViewFilter = true;
//Implement your logic to loop through all the records.
int page = 1; int pageSize = 20;
getLocationsRequest.PagingInfo = new PagingInfo { PageNumber = page, PageSize = pageSize };
GetLocationsResponse getLocationsResponse = exposureManagementClient.GetLocations(getLocationsRequest);
if (getLocationsResponse.Status.Code == StatusCode.Success)
{
foreach (Location location in getLocationsResponse.Locations)
{
Console.WriteLine("------------------ Location SID: " + location.Sid + " -----------------------");
Console.WriteLine("ID: " + location.ID);
Console.WriteLine("Name: " + location.Name);
Console.WriteLine("Address: " + location.Address);
Console.WriteLine("Total Replacement Value: " + location.TotalReplacementValue);
foreach (LocationTerm term in location.Terms)
{
Console.WriteLine(" ------------- ");
Console.WriteLine("Term SID: " + term.Sid);
Console.WriteLine("Term Perils: " + term.Perils);
//Do something similar for each type of Deductible.
if (term.Deductible.GetType() == typeof(LocationPercentOfLossDeductible))
{
Console.WriteLine("Term Building Deductible: " + (term.Deductible as LocationPercentOfLossDeductible).DeductibleBuilding);
Console.WriteLine("Term Contents Deductible: " + (term.Deductible as LocationPercentOfLossDeductible).DeductibleContents);
Console.WriteLine("Term Business Interruption Deductible: " + (term.Deductible as LocationPercentOfLossDeductible).DeductibleBusinessInterruption);
}
else if (term.Deductible.GetType() == typeof(LocationAnnualAmountDeductible))
{
Console.WriteLine("Term Hurricane Deductible: " + (term.Deductible as LocationAnnualAmountDeductible).DeductibleHurricane);
Console.WriteLine("Term Other Perils Deductible: " + (term.Deductible as LocationAnnualAmountDeductible).DeductibleOtherPerils);
}
}
}
}
}
}