Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/dotnet-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4
with:
repository: HicServices/RDMP
ref: v9.0.0-rc1
ref: v9.0.3
path: RDMP
- uses: actions/setup-dotnet@v4
with:
Expand Down
12 changes: 9 additions & 3 deletions HICPlugin/DataFlowComponents/CHIColumnFinder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,15 @@ public void Check(ICheckNotifier notifier)
// True if date exists and checksum matches
private static bool ValidBits(int d, int m, int y, int c)
{
c %= 11;
if (c != 0) return false;

var modElevenCheck = c % 11;
if (modElevenCheck != 0)
{
var modTenCheck = c % 10;
if (modTenCheck != 0)
{
return false;
}
}
return m switch
{
1 or 3 or 5 or 7 or 8 or 10 or 12 => d is > 0 and < 32,
Expand Down
86 changes: 43 additions & 43 deletions HICPlugin/Mutilators/CHIMutilator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,50 +60,50 @@ private static string CreateCHIFunction()
CREATE FUNCTION [dbo].[checkCHI](@CHI as varchar(255))
RETURNS bit AS
BEGIN

DECLARE @SumTotal int
DECLARE @CheckDigit int
DECLARE @Result bit
DECLARE @i int
SET @i = 0
SET @SumTotal = 0
SET @Result = 0
--return 0 if the CHI is non-numeric
IF(ISNUMERIC(@CHI) <> 1)
RETURN 0

--return 0 if the day of birth is greater than 31
IF(LEFT(@CHI, 2) > 31)
RETURN 0

--return 0 if the month of birth is greater than 12
IF(SUBSTRING(@CHI, 3, 2) > 12)
RETURN 0

--return 0 if the CHI is not 10 digits long
IF(LEN(@CHI) = 10)
BEGIN
--Calculate the sum
WHILE @i < 9
BEGIN
SET @SumTotal = @SumTotal + (convert(int,substring(@CHI,@i+1,1)) * (10 - @i))
SET @i = @i + 1
END

--Obtain Check Digit
SET @CheckDigit = 11 - (@SumTotal % 11)

IF @CheckDigit = 11
SET @CheckDigit = 0

--Compare Check Digit
IF @CheckDigit = convert(int,substring(@CHI,10,1))
SET @Result = 1

RETURN @Result
END

RETURN 0
  DECLARE @CheckDigit11Mod int
  DECLARE @CheckDigit10Mod int
  DECLARE @Result bit
  DECLARE @i int
  SET @i = 0
  SET @SumTotal = 0
  SET @Result = 0
  --return 0 if the CHI is non-numeric
  SET @CHI=REPLACE(@CHI,'.','-') -- remove '.' from the CHI as ISNUMERIC will consider CHI a number even if it has '.'
  IF(ISNUMERIC(@CHI) <> 1)
    RETURN 0
  --return 0 if the CHI is not 10 digits long
  IF(LEN(@CHI) = 10)
  BEGIN
    --Calculate the sum
    WHILE @i < 9
    BEGIN
      SET @SumTotal = @SumTotal + (convert(int,substring(@CHI,@i+1,1)) * (10 - @i))
      SET @i = @i + 1
    END

    --Obtain Check Digit
    SET @CheckDigit11Mod = 11 - (@SumTotal % 11)

    SET @CheckDigit10Mod = 10 - (@SumTotal % 10)

    IF @CheckDigit11Mod = 11
      SET @CheckDigit11Mod = 0

    IF @CheckDigit10Mod = 10
      SET @CheckDigit10Mod = 0

    --Compare Check Digit
    IF @CheckDigit11Mod = convert(int,substring(@CHI,10,1))
      SET @Result = 1

    IF @CheckDigit10Mod = convert(int,substring(@CHI,10,1))
      SET @Result = 1

    RETURN @Result
  END

  RETURN 0
END
";
}
Expand Down
6 changes: 3 additions & 3 deletions HICPluginTests/HICPluginTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
<None Remove="TestData\report-with-multiple-descriptions.xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="NUnit.Analyzers" Version="4.9.2">
<PackageReference Include="NUnit.Analyzers" Version="4.11.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
<PackageReference Include="NUnit3TestAdapter" Version="5.2.0" />
<PackageReference Include="NunitXml.TestLogger" Version="6.1.0" />
</ItemGroup>
<ItemGroup>
Expand Down
11 changes: 11 additions & 0 deletions HICPluginTests/Integration/CHIColumnFinderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,15 @@ public void IgnoreColumnsAvoidsCHIChecking()
_chiFinder.PreInitialize(_request, ThrowImmediatelyDataLoadEventListener.Quiet);
Assert.DoesNotThrow(() => _chiFinder.ProcessPipelineData(toProcess, _listener, null));
}

[Test]
public void CHIMod10Check()
{
using var toProcess = new DataTable();
toProcess.Columns.Add("Height");
toProcess.Columns.Add("CHI");
toProcess.Rows.Add(new object[] { 145, "0106851230" });
DataTable result;
var exc= Assert.Throws<Exception>(() => result = _chiFinder.ProcessPipelineData(toProcess, _listener, null));
}
}
2 changes: 1 addition & 1 deletion RDMP
Submodule RDMP updated 73 files
+6 −6 .github/workflows/build.yml
+0 −1 Application/ResearchDataManagementPlatform/WindowManagement/ActivateItems.cs
+22 −1 CHANGELOG.md
+20 −20 Directory.Packages.props
+0 −1 Documentation/CodeTutorials/CustomMetadataSubstitutions.md
+0 −1 Rdmp.Core.Tests/CommandExecution/TestCommandsAreSupported.cs
+0 −17 Rdmp.Core.Tests/Curation/Integration/EncryptionTests.cs
+0 −3 Rdmp.Core.Tests/Curation/Integration/PasswordEncryptionKeyLocationTests.cs
+15 −4 Rdmp.Core.Tests/Curation/ProjectspecificCatalogueTests.cs
+0 −29 Rdmp.Core.Tests/Providers/SearchablesMatchScorerTests.cs
+0 −1 Rdmp.Core.Tests/Reports/CustomMetadataReportTests.cs
+25 −0 Rdmp.Core.Tests/Reports/ExtractionTime/DatasetVariableReportGeneratorTests.cs
+24 −15 Rdmp.Core/CommandExecution/AtomicCommandFactory.cs
+18 −1 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandAddCatalogueToCohortIdentificationSetContainer.cs
+15 −2 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandAddDatasetsToConfiguration.cs
+1 −2 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandAddNewAggregateGraph.cs
+5 −2 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandAddNewCatalogueItem.cs
+2 −2 ...Core/CommandExecution/AtomicCommands/ExecuteCommandAssociateCohortIdentificationConfigurationWithProject.cs
+0 −88 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandChangeExtractability.cs
+10 −30 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandCreateNewFilter.cs
+279 −0 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandExportCataloguesToConfluence.cs
+77 −0 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandMakeCatalogueInternal.cs
+79 −0 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandMakeCatalogueNotInternal.cs
+42 −13 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandMakeCatalogueProjectSpecific.cs
+12 −11 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandMakeProjectSpecificCatalogueNormalAgain.cs
+4 −2 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandSetColumnSettingBase.cs
+1 −2 Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandSetQueryCachingDatabase.cs
+4 −4 Rdmp.Core/CommandExecution/AtomicCommands/Sharing/ExecuteCommandExportInDublinCoreFormat.cs
+10 −11 Rdmp.Core/CommandExecution/BasicActivateItems.cs
+6 −8 Rdmp.Core/CommandExecution/GoToCommandFactory.cs
+1 −11 Rdmp.Core/Curation/Data/Catalogue.cs
+0 −7 Rdmp.Core/Curation/Data/ICatalogue.cs
+16 −12 Rdmp.Core/Curation/SimpleStringValueEncryption.cs
+1 −6 Rdmp.Core/DataExport/Data/ExtractionConfiguration.cs
+3 −4 Rdmp.Core/DataExport/Data/ProjectSpecificCatalogueManager.cs
+13 −0 Rdmp.Core/DataExport/DataExtraction/Pipeline/ExtractionPipelineUseCase.cs
+2 −1 Rdmp.Core/DataExport/DataRelease/Potential/FlatFileReleasePotential.cs
+62 −0 Rdmp.Core/DataLoad/Modules/Mutilators/RemoteServerSQLExecution.cs
+238 −0 Rdmp.Core/Dataset/Confluence/ConfluencePageBuilder.cs
+4 −2 Rdmp.Core/Providers/CatalogueChildProvider.cs
+1 −1 Rdmp.Core/Providers/CatalogueProblemProvider.cs
+1 −0 Rdmp.Core/Providers/ICoreChildProvider.cs
+9 −19 Rdmp.Core/Providers/SearchablesMatchScorer.cs
+2 −2 Rdmp.Core/Reports/DitaCatalogueExtractor.cs
+85 −0 Rdmp.Core/Reports/ExtractionTime/DatasetVariableReportGenerator.cs
+1 −1 Rdmp.Core/Reports/GovernanceReport.cs
+3 −1 Rdmp.Core/Repositories/DataExportRepository.cs
+4 −4 Rdmp.Core/Repositories/Managers/PasswordEncryptionKeyLocation.cs
+6 −12 Rdmp.Core/ReusableLibraryCode/Settings/UserSettings.cs
+0 −1 Rdmp.UI.Tests/DesignPatternTests/RunUITests.cs
+132 −6 Rdmp.UI/CatalogueSummary/LoadEvents/LoadEventsTreeView.cs
+0 −28 Rdmp.UI/Collections/CatalogueCollectionFilterUI.Designer.cs
+1 −14 Rdmp.UI/Collections/CatalogueCollectionFilterUI.cs
+17 −17 Rdmp.UI/Collections/CatalogueCollectionUI.Designer.cs
+2 −6 Rdmp.UI/Collections/Providers/Filtering/CatalogueCollectionFilter.cs
+0 −49 Rdmp.UI/CommandExecution/AtomicCommands/ExecuteCommandShowTooltip.cs
+2 −1 Rdmp.UI/CommandExecution/AtomicCommands/ExecuteCommandViewCatalogueExtractionSqlUI.cs
+0 −6 Rdmp.UI/CommandExecution/AtomicCommands/ExecuteCommandViewCommits.cs
+0 −13 Rdmp.UI/MainFormUITabs/CatalogueUI.Designer.cs
+0 −1 Rdmp.UI/MainFormUITabs/CatalogueUI.cs
+5 −3 Rdmp.UI/Menus/CatalogueMenu.cs
+9 −6 Rdmp.UI/Menus/MenuItems/DQEMenuItem.cs
+0 −1 Rdmp.UI/Menus/RDMPContextMenuStrip.cs
+0 −2 Rdmp.UI/PieCharts/CatalogueToDatasetLinkagePieChartUI.cs
+0 −2 Rdmp.UI/PieCharts/GoodBadCataloguePieChart.cs
+0 −6 Rdmp.UI/PieCharts/GoodBadCataloguePieChartObjectCollection.cs
+0 −4 Rdmp.UI/SimpleDialogs/NewfindUI.cs
+1 −1 Rdmp.UI/SimpleDialogs/Reports/MetadataReportUI.cs
+0 −4 Rdmp.UI/SimpleDialogs/SelectDialog.cs
+17 −3 Rdmp.UI/SimpleDialogs/UserSettingsUI.Designer.cs
+1 −0 Rdmp.UI/SimpleDialogs/UserSettingsUI.cs
+3 −3 SharedAssemblyInfo.cs
+2 −2 rdmp-client.xml
2 changes: 1 addition & 1 deletion SCIStorePlugin/SCIStorePlugin.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@
<Compile Include="..\SharedAssemblyInfo.cs" Link="SharedAssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.XmlSerializer.Generator" Version="9.0.7" />
<PackageReference Include="Microsoft.XmlSerializer.Generator" Version="9.0.10" />
<PackageReference Include="System.ServiceModel.Http" Version="6.2.0" />
</ItemGroup>
<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions SharedAssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
[assembly: AssemblyCulture("")]

// These should be overwritten by release builds
[assembly: AssemblyVersion("6.1.15")]
[assembly: AssemblyFileVersion("6.1.15")]
[assembly: AssemblyInformationalVersion("6.1.15")]
[assembly: AssemblyVersion("6.1.16")]
[assembly: AssemblyFileVersion("6.1.16")]
[assembly: AssemblyInformationalVersion("6.1.16")]
Loading