using AIR.Services.Common.Data;
using AIR.Services.Common.Exposure.Data;
using AIR.Services.DataImport.Api;
using AIR.Services.DataImport.Data;
using AIR.Services.DataImport.MappingSetManagement.Data;
using System;
using System.Collections.Generic;
public class SnippetSubmitImportCsvWithAutomapRequest
{
private static void ImportExpressCSVAutomap(int businessUnitSid, int sqlInstanceSid, int dataSourceSid, int exposureSetSid, int mappingSetSid,
string contractsFilePath, string locationsFilePath)
{
DataImportServiceClient importClient = new DataImportServiceClient();
SubmitImportCsvWithAutomapRequest request = new SubmitImportCsvWithAutomapRequest();
request.BusinessUnitSid = businessUnitSid;
request.SqlInstanceSid = sqlInstanceSid;
request.ImportOptions = new ImportOptionsCsv()
{
Currency = "USD",
CurrencyExchangeRateSid = 3,
DataSourceSid = dataSourceSid,
ExposureSetSid = exposureSetSid,
ContractsFilePath = contractsFilePath,
LocationsFilePath = locationsFilePath,
DateTimeFormat = "MM/DD/YYYY",
HasHeaders = true,
Delimiter = ',',
TextQualifier = TextQualifier.DoubleQuote,
DuplicateContractBehaviour = DuplicateContractsOption.Replace,
Geocoder = BaseGeocoder.AIRGeocoder,
PreserveGeocode = true,
VerifyOnly = false,
};
request.MappingOptions = new FilesMatchingMappingSetOptions()
{
ContractExcludedColumnNames = new List<string>()
{
"UserDefined Field 1 (UDF 1)",
"UserDefined Field 2 (UDF 2)",
"UserDefined Field 3 (UDF 3)",
"UserDefined Field 4 (UDF 4)",
"UserDefined Field 5 (UDF 5)"
},
ContractType = ContractType.PrimaryProperty,
DefaultsXML = null,
Delimiter = ',',
FailedOnUnmappedColumns = false,
LocationExcludedColumnNames = new List<string>()
{
"ConstructionCodeType",
"OccupancyCodeType"
},
MappingSetName = "AutoMappingSet - " + new Random().Next(),
ReinsuranceExcludedColumnNames = new List<string>(),
StepFuctionExcludedColumnNames = new List<string>(),
TextQualifier = TextQualifier.DoubleQuote
};
SubmitImportCsvWithAutomapResponse response = importClient.SubmitImportCsvWithAutomap(request);
if ((response.Status.Code == StatusCode.Success))
{
Console.WriteLine("Submitted Successfully to HPC with Activity SID: " + response.ActivitySid);
}
}
}