From 2bbf14d7914130cb997907c925cfeec83af0348f Mon Sep 17 00:00:00 2001 From: Sara Busato Date: Wed, 21 Dec 2022 12:02:30 +0100 Subject: [PATCH 1/2] fixed ImportStorage queries for openings --- ifrs17/Import/ImportStorage.ipynb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index 8f2303c0..a9537692 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -224,7 +224,10 @@ "\n var openingRawVariables = Enumerable.Empty();", "\n var openingIfrsVariables = Enumerable.Empty();", "\n", - "\n if(allImportScopes.Select(dn => DataNodeDataBySystemName[dn]).Any(dnd => dnd.Year < args.Year)) {", + "\n var allImportScopesAtInceptionYear = allImportScopes.Select(dn => DataNodeDataBySystemName[dn]).Where(dnd => dnd.Year == args.Year).Select(x => x.DataNode).ToArray();", + "\n var allImportScopesNotAtInceptionYear = allImportScopes.Except(allImportScopesAtInceptionYear);", + "\n", + "\n if(allImportScopesNotAtInceptionYear.Any()) {", "\n PreviousPeriodPartition = (await querySource.Query().Where(p => p.ReportingNode == args.ReportingNode &&", "\n p.Year == PreviousReportingPeriod.Year &&", "\n p.Month == PreviousReportingPeriod.Month &&", @@ -241,7 +244,7 @@ "\n ", "\n openingIfrsVariables = (await querySource.Query()", "\n .Where(iv => iv.Partition == PreviousPeriodPartition && iv.AocType == AocTypes.EOP)", - "\n .Where(v => allImportScopes.Contains(v.DataNode))", + "\n .Where(v => allImportScopesNotAtInceptionYear.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .Select(iv => iv with {AocType = AocTypes.BOP, Novelty = Novelties.I, Partition = TargetPartition});", "\n ", @@ -251,11 +254,15 @@ "\n ", "\n //SetPartition to current Period", "\n await querySource.Partition.SetAsync(TargetPartition);", - "\n ", - "\n if(primaryScope.Select(dn => DataNodeDataBySystemName[dn]).Any(dnd => dnd.Year == args.Year) && ImportFormat != ImportFormats.Opening)", + "\n", + "\n var primaryScopeAtInceptionYear = allImportScopesAtInceptionYear.Where(dn => primaryScope.Contains(dn));", + "\n var secondaryScopeAtInceptionYear = allImportScopesAtInceptionYear.Where(dn => secondaryScope.Contains(dn)); ", + "\n if(allImportScopesAtInceptionYear.Any() && ImportFormat != ImportFormats.Opening) ", "\n openingIfrsVariables = openingIfrsVariables.Concat(await querySource.Query()", "\n .Where(iv => iv.Partition == TargetPartition && iv.AocType == AocTypes.BOP && iv.Novelty == Novelties.I)", - "\n .Where(iv => primaryScope.Contains(iv.DataNode) && EstimateTypesByImportFormat[InputSource.Opening.ToString()].Contains(iv.EstimateType) || secondaryScope.Contains(iv.DataNode))", + "\n .Where(iv => primaryScopeAtInceptionYear.Contains(iv.DataNode) ", + "\n && EstimateTypesByImportFormat[InputSource.Opening.ToString()].Contains(iv.EstimateType) ", + "\n || secondaryScopeAtInceptionYear.Contains(iv.DataNode))", "\n .ToArrayAsync());", "\n ", "\n //Variables", From b5c91a7d047c104df977e2a40bcacb7c15df1dcf Mon Sep 17 00:00:00 2001 From: Sara Busato Date: Wed, 21 Dec 2022 17:32:59 +0100 Subject: [PATCH 2/2] clean up --- ifrs17/Import/ImportStorage.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index a9537692..3bce6f0b 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -224,7 +224,7 @@ "\n var openingRawVariables = Enumerable.Empty();", "\n var openingIfrsVariables = Enumerable.Empty();", "\n", - "\n var allImportScopesAtInceptionYear = allImportScopes.Select(dn => DataNodeDataBySystemName[dn]).Where(dnd => dnd.Year == args.Year).Select(x => x.DataNode).ToArray();", + "\n var allImportScopesAtInceptionYear = allImportScopes.Select(dn => DataNodeDataBySystemName[dn]).Where(dnd => dnd.Year == args.Year).Select(x => x.DataNode).ToHashSet();", "\n var allImportScopesNotAtInceptionYear = allImportScopes.Except(allImportScopesAtInceptionYear);", "\n", "\n if(allImportScopesNotAtInceptionYear.Any()) {",