diff --git a/ifrs17-template/Constants/CalculationEngine.ipynb b/ifrs17-template/Constants/CalculationEngine.ipynb index 052892cc..b8a11471 100644 --- a/ifrs17-template/Constants/CalculationEngine.ipynb +++ b/ifrs17-template/Constants/CalculationEngine.ipynb @@ -29,4 +29,4 @@ "outputs": [] } ] -} +} \ No newline at end of file diff --git a/ifrs17/Constants/Validations.ipynb b/ifrs17/Constants/Validations.ipynb index b48ffbee..01788ef5 100644 --- a/ifrs17/Constants/Validations.ipynb +++ b/ifrs17/Constants/Validations.ipynb @@ -117,6 +117,7 @@ "\n public static readonly Error AocTypePositionNotSupported = new Error(nameof(AocTypePositionNotSupported));", "\n public static readonly Error AocConfigurationOrderNotUnique = new Error(nameof(AocConfigurationOrderNotUnique));", "\n public static readonly Error AccidentYearTypeNotValid = new Error(nameof(AccidentYearTypeNotValid));", + "\n public static readonly Error TableNotFound = new Error(nameof(TableNotFound));", "\n", "\n // Partition Errors", "\n public static readonly Error PartitionNotFound = new Error(nameof(PartitionNotFound));", @@ -206,6 +207,7 @@ "\n (nameof(AocTypePositionNotSupported), 1) => $\"The position of the AoC Type {s[0]} is not supported.\",", "\n (nameof(AocConfigurationOrderNotUnique), _) => $\"Two or more AoC Configurations have the same Order.\",", "\n (nameof(AccidentYearTypeNotValid), 1) => $\"The parsed AccidentYear {s[0]} is invalid. Expected Accident Year input of type int.\",", + "\n (nameof(TableNotFound), 1) => $\"The import file does not contain table {s[0]}\",", "\n", "\n // Partition", "\n (nameof(PartitionNotFound), _) => $\"Partition do not found.\",", diff --git a/ifrs17/Import/Importers.ipynb b/ifrs17/Import/Importers.ipynb index 770e66c4..b90cc121 100644 --- a/ifrs17/Import/Importers.ipynb +++ b/ifrs17/Import/Importers.ipynb @@ -886,6 +886,7 @@ "\n Activity.Start();", "\n var primaryArgs = GetArgsFromMain(dataSet) with {ImportFormat = ImportFormats.YieldCurve};", "\n primaryArgs.ValidateArgsForPeriodAsync(options.TargetDataSource);", + "\n if (!dataSet.Tables.Contains(primaryArgs.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, primaryArgs.ImportFormat);", "\n if(ApplicationMessage.HasErrors()) return Activity.Finish();", "\n var workspace = Workspace.CreateNew();", "\n workspace.Initialize(x => x.FromSource(options.TargetDataSource)", @@ -985,6 +986,7 @@ "\n ", "\n Activity.Start();", "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource);", + "\n", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", @@ -1014,7 +1016,6 @@ "\n .ExecuteAsync();", "\n ", "\n var portfolios = await workspace.Query().ToDictionaryAsync(x => x.SystemName);", - "\n", "\n var yieldCurveColumnGroupOfInsuranceContract = dataSet.Tables.Contains(nameof(GroupOfInsuranceContract)) && dataSet.Tables[nameof(GroupOfInsuranceContract)].Columns.Any(x => x.ColumnName == nameof(GroupOfInsuranceContract.YieldCurveName));", "\n var yieldCurveColumnGroupOfReinsuranceContract = dataSet.Tables.Contains(nameof(GroupOfReinsuranceContract)) && dataSet.Tables[nameof(GroupOfReinsuranceContract)].Columns.Any(x => x.ColumnName == nameof(GroupOfReinsuranceContract.YieldCurveName));", "\n", @@ -1117,6 +1118,7 @@ "\n .DisableInitialization());", "\n Activity.Start();", "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource) with {ImportFormat = ImportFormats.DataNodeState};", + "\n if (!dataSet.Tables.Contains(args.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, args.ImportFormat);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", @@ -1288,6 +1290,7 @@ "\n Activity.Start();", "\n var primaryArgs = GetArgsFromMain(dataSet) with {ImportFormat = ImportFormats.DataNodeParameter};", "\n primaryArgs.ValidateArgsForPeriodAsync(options.TargetDataSource);", + "\n if (!dataSet.Tables.Contains(primaryArgs.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, primaryArgs.ImportFormat);", "\n if(ApplicationMessage.HasErrors()) return Activity.Finish();", "\n var workspace = Workspace.CreateNew();", "\n workspace.Initialize(x => x.FromSource(options.TargetDataSource).DisableInitialization().DisableInitialization());", @@ -1478,6 +1481,7 @@ "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Cashflow);", + "\n if(!dataSet.Tables.Contains(primaryArgs.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, primaryArgs.ImportFormat);", "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Cashflow, primaryArgs, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", @@ -1603,6 +1607,7 @@ "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Actual);", + "\n if(!dataSet.Tables.Contains(primaryArgs.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, primaryArgs.ImportFormat);", "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Actual, primaryArgs, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1730,6 +1735,7 @@ "Import.DefineFormat(ImportFormats.SimpleValue, async (options, dataSet) => {", "\n Activity.Start();", "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.SimpleValue};", + "\n if(!dataSet.Tables.Contains(args.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, args.ImportFormat);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n await DataNodeFactoryAsync(dataSet, ImportFormats.SimpleValue, args, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", @@ -1769,6 +1775,7 @@ "\n Activity.Start();", "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Opening};", "\n if(primaryArgs.Scenario != default(string)) ApplicationMessage.Log(Error.NoScenarioOpening);", + "\n if(!dataSet.Tables.Contains(primaryArgs.ImportFormat)) ApplicationMessage.Log(Error.TableNotFound, primaryArgs.ImportFormat);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Opening);", @@ -1793,6 +1800,15 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file