Skip to content

Commit

Permalink
Allow + characters in enskild firma.
Browse files Browse the repository at this point in the history
Signed-off-by: Johannes Tegnér <[email protected]>
  • Loading branch information
Johannestegner committed Feb 20, 2024
1 parent 4877d48 commit 8a697cd
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
3 changes: 2 additions & 1 deletion Organisationsnummer.Tests/OrganisationsnummerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ public void TestFormatWithOutSeparator(OrganisationsnummerData input)
public void TestFormatWithSeparator(OrganisationsnummerData input)
{
Assert.Equal(input.LongFormat, Organisationsnummer.Parse(input.LongFormat).Format(true));
Assert.Equal(input.LongFormat, Organisationsnummer.Parse(input.ShortFormat).Format(true));
// If short format in, we must presume it's not a + expected.
Assert.Equal(input.LongFormat.Replace('+', '-'), Organisationsnummer.Parse(input.ShortFormat).Format(true));
}

[Theory]
Expand Down
8 changes: 7 additions & 1 deletion Organisationsnummer/Organisationsnummer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,11 @@ public Organisationsnummer(string number)
/// <returns></returns>
public string Format(bool separator = true)
{
if (IsPersonnummer)
{
return _personnummer!.Format(false, !separator);
}

var num = ShortString;
return separator ? $"{num!.Substring(0, 6)}-{num!.Substring(6)}" : num!;
}
Expand All @@ -151,6 +156,7 @@ public string Format(bool separator = true)

private void InnerParse(string input)
{
var originalInput = input;
if (input.Length is > 13 or < 10)
{
var state = input.Length > 13 ? "long" : "short";
Expand Down Expand Up @@ -197,7 +203,7 @@ private void InnerParse(string input)
{
try
{
_personnummer = PerNr.Parse(input);
_personnummer = PerNr.Parse(originalInput);
}
catch
{
Expand Down

0 comments on commit 8a697cd

Please sign in to comment.