diff --git a/QRCoder.sln b/QRCoder.sln
index 5bc09e25..2df93136 100644
--- a/QRCoder.sln
+++ b/QRCoder.sln
@@ -5,7 +5,7 @@ VisualStudioVersion = 16.0.29911.84
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QRCoder", "QRCoder\QRCoder.csproj", "{AA6BE23A-7813-4D2A-835E-B673631AE9F1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QRCoderConsole", "QRCoderConsole\QRCoderConsole.csproj", "{014F04C6-6099-4552-9A4F-D09C6E39D576}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QRCoderConsole", "QRCoderConsole\QRCoderConsole.csproj", "{014F04C6-6099-4552-9A4F-D09C6E39D576}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QRCoderDemo", "QRCoderDemo\QRCoderDemo.csproj", "{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}"
EndProject
@@ -55,12 +55,12 @@ Global
{014F04C6-6099-4552-9A4F-D09C6E39D576}.Release|x64.Build.0 = Release|Any CPU
{014F04C6-6099-4552-9A4F-D09C6E39D576}.Release|x86.ActiveCfg = Release|Any CPU
{014F04C6-6099-4552-9A4F-D09C6E39D576}.Release|x86.Build.0 = Release|Any CPU
- {CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Debug|ARM.ActiveCfg = Debug|x86
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Debug|x64.ActiveCfg = Debug|x86
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Debug|x86.ActiveCfg = Debug|x86
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Debug|x86.Build.0 = Debug|x86
- {CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Release|Any CPU.ActiveCfg = Release|x86
+ {CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Release|ARM.ActiveCfg = Release|x86
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Release|x64.ActiveCfg = Release|x86
{CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}.Release|x86.ActiveCfg = Release|x86
diff --git a/QRCoder/Base64QRCode.cs b/QRCoder/Base64QRCode.cs
index cf55e21d..8f4f28d6 100644
--- a/QRCoder/Base64QRCode.cs
+++ b/QRCoder/Base64QRCode.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
using System;
using System.Drawing;
using System.Drawing.Imaging;
diff --git a/QRCoder/PayloadGenerator.cs b/QRCoder/PayloadGenerator.cs
index 9b7b8826..8f3bd0f8 100644
--- a/QRCoder/PayloadGenerator.cs
+++ b/QRCoder/PayloadGenerator.cs
@@ -1409,11 +1409,12 @@ public BezahlCode(AuthorityType authority, string name, string account, string b
}
else if (internalMode == 2)
{
+#pragma warning disable CS0612
if (authority != AuthorityType.periodicsinglepayment && authority != AuthorityType.singledirectdebit && authority != AuthorityType.singlepayment)
throw new BezahlCodeException("The constructor with 'account' and 'bnc' may only be used with 'non SEPA' authority types. Either choose another authority type or switch constructor.");
if (authority == AuthorityType.periodicsinglepayment && (string.IsNullOrEmpty(periodicTimeunit) || periodicTimeunitRotation == 0))
throw new BezahlCodeException("When using 'periodicsinglepayment' as authority type, the parameters 'periodicTimeunit' and 'periodicTimeunitRotation' must be set.");
-
+#pragma warning restore CS0612
}
else if (internalMode == 3)
{
@@ -1437,8 +1438,10 @@ public BezahlCode(AuthorityType authority, string name, string account, string b
var newWayFilled = (!string.IsNullOrEmpty(iban) && !string.IsNullOrEmpty(bic));
//Non-SEPA payment types
+#pragma warning disable CS0612
if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.singledirectdebit || authority == AuthorityType.singlepayment || authority == AuthorityType.contact || (authority == AuthorityType.contact_v2 && oldWayFilled))
{
+#pragma warning restore CS0612
if (!Regex.IsMatch(account.Replace(" ", ""), @"^[0-9]{1,9}$"))
throw new BezahlCodeException("The account entered isn't valid.");
this.account = account.Replace(" ", "").ToUpper();
@@ -1500,8 +1503,9 @@ public BezahlCode(AuthorityType authority, string name, string account, string b
throw new BezahlCodeException("Execution date must be today or in future.");
this.executionDate = (DateTime)executionDate;
}
-
+#pragma warning disable CS0612
if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.periodicsinglepaymentsepa)
+#pragma warning restore CS0612
{
if (periodicTimeunit.ToUpper() != "M" && periodicTimeunit.ToUpper() != "W")
throw new BezahlCodeException("The periodicTimeunit must be either 'M' (monthly) or 'W' (weekly).");
@@ -1530,8 +1534,9 @@ public override string ToString()
if (authority != AuthorityType.contact && authority != AuthorityType.contact_v2)
{
//Handle what is same for all payments
-
+#pragma warning disable CS0612
if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.singledirectdebit || authority == AuthorityType.singlepayment)
+#pragma warning restore CS0612
{
bezahlCodePayload += $"account={account}&";
bezahlCodePayload += $"bnc={bnc}&";
@@ -1552,7 +1557,7 @@ public override string ToString()
bezahlCodePayload += $"creditorid={ Uri.EscapeDataString(creditorId)}&";
if (!string.IsNullOrEmpty(mandateId))
bezahlCodePayload += $"mandateid={ Uri.EscapeDataString(mandateId)}&";
- if (dateOfSignature != null)
+ if (dateOfSignature != DateTime.MinValue)
bezahlCodePayload += $"dateofsignature={dateOfSignature.ToString("ddMMyyyy")}&";
}
}
@@ -1562,16 +1567,17 @@ public override string ToString()
bezahlCodePayload += $"reason={ Uri.EscapeDataString(reason)}&";
bezahlCodePayload += $"currency={currency}&";
bezahlCodePayload += $"executiondate={executionDate.ToString("ddMMyyyy")}&";
-
+#pragma warning disable CS0612
if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.periodicsinglepaymentsepa)
{
bezahlCodePayload += $"periodictimeunit={periodicTimeunit}&";
bezahlCodePayload += $"periodictimeunitrotation={periodicTimeunitRotation}&";
- if (periodicFirstExecutionDate != null)
+ if (periodicFirstExecutionDate != DateTime.MinValue)
bezahlCodePayload += $"periodicfirstexecutiondate={periodicFirstExecutionDate.ToString("ddMMyyyy")}&";
- if (periodicLastExecutionDate != null)
+ if (periodicLastExecutionDate != DateTime.MinValue)
bezahlCodePayload += $"periodiclastexecutiondate={periodicLastExecutionDate.ToString("ddMMyyyy")}&";
}
+#pragma warning restore CS0612
}
else
{
diff --git a/QRCoder/PdfByteQRCode.cs b/QRCoder/PdfByteQRCode.cs
index 02f70aa8..38d941b1 100644
--- a/QRCoder/PdfByteQRCode.cs
+++ b/QRCoder/PdfByteQRCode.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
using System;
using System.Collections.Generic;
using System.Drawing.Imaging;
diff --git a/QRCoder/PostscriptQRCode.cs b/QRCoder/PostscriptQRCode.cs
index ab13d804..6aee5b7d 100644
--- a/QRCoder/PostscriptQRCode.cs
+++ b/QRCoder/PostscriptQRCode.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
using System;
using System.Drawing;
using static QRCoder.QRCodeGenerator;
diff --git a/QRCoder/QRCode.cs b/QRCoder/QRCode.cs
index ccba5f55..b3e420f7 100644
--- a/QRCoder/QRCode.cs
+++ b/QRCoder/QRCode.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
diff --git a/QRCoder/QRCodeData.cs b/QRCoder/QRCodeData.cs
index 524b8997..8a19b5af 100644
--- a/QRCoder/QRCodeData.cs
+++ b/QRCoder/QRCodeData.cs
@@ -21,7 +21,7 @@ public QRCodeData(int version)
for (var i = 0; i < size; i++)
this.ModuleMatrix.Add(new BitArray(size));
}
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
public QRCodeData(string pathToRawData, Compression compressMode) : this(File.ReadAllBytes(pathToRawData), compressMode)
{
}
@@ -154,7 +154,7 @@ public byte[] GetRawData(Compression compressMode)
return rawData;
}
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
public void SaveRawData(string filePath, Compression compressMode)
{
File.WriteAllBytes(filePath, GetRawData(compressMode));
diff --git a/QRCoder/QRCodeGenerator.cs b/QRCoder/QRCodeGenerator.cs
index e16d4918..c7aa20ef 100644
--- a/QRCoder/QRCodeGenerator.cs
+++ b/QRCoder/QRCodeGenerator.cs
@@ -1104,7 +1104,7 @@ private static string ConvertToIso8859(string value, string Iso = "ISO-8859-2")
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(value);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
return iso.GetString(isoBytes);
#else
return iso.GetString(isoBytes, 0, isoBytes.Length);
diff --git a/QRCoder/QRCoder.csproj b/QRCoder/QRCoder.csproj
index 829edc17..70fcaa3e 100644
--- a/QRCoder/QRCoder.csproj
+++ b/QRCoder/QRCoder.csproj
@@ -1,12 +1,14 @@
- net35;net40;netstandard1.1;netstandard2.0
+ net35;net40;netstandard1.1;netstandard2.0;net5.0;net5.0-windows
false
+ true
+ true
+ $(DefineConstants);NET5_0_WINDOWS
- bin\Release\
@@ -16,7 +18,6 @@
1.4.1
Raffael Herrmann
QRCoder
- QRCoder
MIT
https://github.com/codebude/QRCoder/
http://code-bude.net/downloads/qrcoder-logo.png
@@ -30,7 +31,7 @@
-
+
@@ -38,4 +39,4 @@
$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client
-
+
\ No newline at end of file
diff --git a/QRCoder/SvgQRCode.cs b/QRCoder/SvgQRCode.cs
index 82d81e80..f0d01909 100644
--- a/QRCoder/SvgQRCode.cs
+++ b/QRCoder/SvgQRCode.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD2_0
+#if NETFRAMEWORK || NETSTANDARD2_0 || NET5_0
using System;
using System.Collections;
using System.Drawing;
diff --git a/QRCoder/XamlQRCode.cs b/QRCoder/XamlQRCode.cs
index 348e506a..692bb8a5 100644
--- a/QRCoder/XamlQRCode.cs
+++ b/QRCoder/XamlQRCode.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK
+#if NETFRAMEWORK || NET5_0_WINDOWS
using System;
using System.Windows;
using System.Windows.Media;
diff --git a/QRCoderConsole/Program.cs b/QRCoderConsole/Program.cs
index c0bfcda6..5db827d4 100644
--- a/QRCoderConsole/Program.cs
+++ b/QRCoderConsole/Program.cs
@@ -164,6 +164,7 @@ private static void GenerateQRCode(string payloadString, QRCodeGenerator.ECCLeve
}
}
break;
+#if !NET5_0 && !NET5_0_WINDOWS
case SupportedImageFormat.Xaml:
using (var code = new XamlQRCode(data))
{
@@ -175,6 +176,7 @@ private static void GenerateQRCode(string payloadString, QRCodeGenerator.ECCLeve
}
}
break;
+#endif
case SupportedImageFormat.Ps:
case SupportedImageFormat.Eps:
using (var code = new PostscriptQRCode(data))
diff --git a/QRCoderConsole/Properties/AssemblyInfo.cs b/QRCoderConsole/Properties/AssemblyInfo.cs
index 84b3205f..b38355b2 100644
--- a/QRCoderConsole/Properties/AssemblyInfo.cs
+++ b/QRCoderConsole/Properties/AssemblyInfo.cs
@@ -17,11 +17,10 @@
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion ("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
-
diff --git a/QRCoderConsole/QRCoderConsole.csproj b/QRCoderConsole/QRCoderConsole.csproj
index 6d1b67e1..846940ce 100644
--- a/QRCoderConsole/QRCoderConsole.csproj
+++ b/QRCoderConsole/QRCoderConsole.csproj
@@ -1,52 +1,33 @@
-
-
+
+
- Debug
- AnyCPU
- {014F04C6-6099-4552-9A4F-D09C6E39D576}
+ net45;net5.0;net5.0-windows
+ true
+ true
+ $(DefineConstants);NET5_0_WINDOWS
+ true
Exe
- QRCoderConsole
- QRCoderConsole
- v4.5
+ false
+
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- true
--in foo --out fooQR.png
- full
- true
- bin\Release
- prompt
- 4
- true
-
+
+
-
-
- ..\packages\NDesk.Options.0.2.1\lib\NDesk.Options.dll
-
-
-
-
-
-
+
+
-
-
+
+
{aa6be23a-7813-4d2a-835e-b673631ae9f1}
diff --git a/QRCoderConsole/packages.config b/QRCoderConsole/packages.config
deleted file mode 100644
index da45c27f..00000000
--- a/QRCoderConsole/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/QRCoderDemo/Form1.cs b/QRCoderDemo/Form1.cs
index 12ac1154..a955d644 100644
--- a/QRCoderDemo/Form1.cs
+++ b/QRCoderDemo/Form1.cs
@@ -125,14 +125,8 @@ private void btn_save_Click(object sender, EventArgs e)
}
pictureBoxQRCode.BackgroundImage.Save(fs, imageFormat);
- fs.Close();
}
}
-
-
-
-
-
}
public void ExportToBmp(string path)
diff --git a/QRCoderDemo/QRCoderDemo.csproj b/QRCoderDemo/QRCoderDemo.csproj
index 3ff23c20..01aaef86 100644
--- a/QRCoderDemo/QRCoderDemo.csproj
+++ b/QRCoderDemo/QRCoderDemo.csproj
@@ -1,83 +1,19 @@
-
-
+
+
- Debug
- x86
- {CA6DB0F5-DB6C-4DDD-8B5F-EF82FBB963E9}
- WinExe
- Properties
- QRCoderDemo
- QRCoderDemo
- v4.5
-
-
- 512
+ net45;net5.0-windows
+ true
+ Exe
+ false
+
- x86
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
- x86
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
- Form
-
-
- Form1.cs
-
-
-
-
- Form1.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
@@ -85,12 +21,4 @@
QRCoder
-
-
\ No newline at end of file
diff --git a/QRCoderTests/PayloadGeneratorTests.cs b/QRCoderTests/PayloadGeneratorTests.cs
index c7982b82..fc469062 100644
--- a/QRCoderTests/PayloadGeneratorTests.cs
+++ b/QRCoderTests/PayloadGeneratorTests.cs
@@ -1245,9 +1245,9 @@ public void bezahlcode_generator_can_generate_payload_singlepayment_minimal()
var bnc = "100205000";
var name = "Wikimedia Fördergesellschaft";
var amount = 10.00m;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
@@ -1265,9 +1265,9 @@ public void bezahlcode_generator_can_generate_payload_singlepayment_full()
var amount = 10.00m;
var postingKey = 69;
Currency currency = Currency.USD;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account, bnc, amount, "", 0, null, null, reason, postingKey, currency, DateTime.Now);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts¤cy=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
@@ -1285,9 +1285,9 @@ public void bezahlcode_generator_can_generate_payload_singledirectdebit()
var amount = 10.00m;
var postingKey = 69;
Currency currency = Currency.USD;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singledirectdebit, name, account, bnc, amount, "", 0, null, null, reason, postingKey, currency, DateTime.Now);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://singledirectdebit?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts¤cy=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
@@ -1309,9 +1309,9 @@ public void bezahlcode_generator_can_generate_payload_periodicsinglepayment()
var periodicFirstExecutionDate = DateTime.Now;
var periodicLastExecutionDate = DateTime.Now.AddMonths(3);
Currency currency = Currency.USD;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.periodicsinglepayment, name, account, bnc, amount, periodicTimeunit, periodicTimeunitRotation, periodicFirstExecutionDate, periodicLastExecutionDate, reason, postingKey, currency, DateTime.Now);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://periodicsinglepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts¤cy=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "&periodictimeunit=W&periodictimeunitrotation=2&periodicfirstexecutiondate=" + periodicFirstExecutionDate.ToString("ddMMyyyy") + "&periodiclastexecutiondate=" + periodicLastExecutionDate.ToString("ddMMyyyy"));
@@ -1492,9 +1492,9 @@ public void bezahlcode_generator_should_handle_account_whitespaces()
var bnc = "100205000";
var name = "Wikimedia Fördergesellschaft";
var amount = 10.00m;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=01194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
@@ -1509,9 +1509,9 @@ public void bezahlcode_generator_should_handle_bnc_whitespaces()
var bnc = "10020 5000";
var name = "Wikimedia Fördergesellschaft";
var amount = 10.00m;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
@@ -1560,9 +1560,9 @@ public void bezahlcode_generator_should_add_decimals()
var bnc = "10020 5000";
var name = "Wikimedia Fördergesellschaft";
var amount = 10;
-
+#pragma warning disable CS0612
var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount);
-
+#pragma warning restore CS0612
generator
.ToString()
.ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "");
@@ -1576,9 +1576,9 @@ public void bezahlcode_generator_should_throw_wrong_contact_constructor_exceptio
var account = "0001194700";
var bnc = "10020 5000";
var name = "Wikimedia Fördergesellschaft";
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account, bnc, "", "", "New business contact."));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("The constructor without an amount may only ne used with authority types 'contact' and 'contact_v2'.");
@@ -1632,9 +1632,9 @@ public void bezahlcode_generator_should_throw_wrong_nonsepa_constructor_periodic
var periodicFirstExecutionDate = DateTime.Now;
var periodicLastExecutionDate = DateTime.Now.AddMonths(3);
Currency currency = Currency.USD;
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.periodicsinglepayment, name, account, bnc, amount, periodicTimeunit, periodicTimeunitRotation, periodicFirstExecutionDate, periodicLastExecutionDate, reason, postingKey, currency, DateTime.Now));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("When using 'periodicsinglepayment' as authority type, the parameters 'periodicTimeunit' and 'periodicTimeunitRotation' must be set.");
@@ -1649,9 +1649,9 @@ public void bezahlcode_generator_should_throw_wrong_sepa_constructor_exception()
var bic = "BFSWDE33BER";
var name = "Wikimedia Fördergesellschaft";
var amount = 10.00m;
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, iban: iban, bic: bic, amount: amount));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("The constructor with 'iban' and 'bic' may only be used with 'SEPA' authority types. Either choose another authority type or switch constructor.");
@@ -1728,9 +1728,9 @@ public void bezahlcode_generator_should_throw_invalid_account_exception()
var bnc = "100205000";
var name = "Wikimedia Fördergesellschaft";
var amount = 10.00m;
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("The account entered isn't valid.");
@@ -1745,9 +1745,9 @@ public void bezahlcode_generator_should_throw_invalid_bnc_exception()
var bnc = "10020500023545626226262";
var name = "Wikimedia Fördergesellschaft";
var amount = 10.00m;
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("The bnc entered isn't valid.");
@@ -1763,9 +1763,9 @@ public void bezahlcode_generator_should_throw_invalid_postingkey_exception()
var name = "Wikimedia Fördergesellschaft";
var postingKey = 101;
var amount = 10.00m;
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount, postingKey: postingKey));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("PostingKey must be within 0 and 99.");
@@ -1922,10 +1922,9 @@ public void bezahlcode_generator_should_throw_invalid_executiondate_exception()
var postingKey = 69;
var executionDate = new DateTime(2017, 1, 1);
Currency currency = Currency.USD;
-
-
+#pragma warning disable CS0612
var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account, bnc, amount, "", 0, null, null, reason, postingKey, currency, executionDate));
-
+#pragma warning restore CS0612
Assert.NotNull(exception);
Assert.IsType(exception);
exception.Message.ShouldBe("Execution date must be today or in future.");
diff --git a/QRCoderTests/QRCodeRendererTests.cs b/QRCoderTests/QRCodeRendererTests.cs
index 69baa0bd..fe7b6e94 100644
--- a/QRCoderTests/QRCodeRendererTests.cs
+++ b/QRCoderTests/QRCodeRendererTests.cs
@@ -38,6 +38,16 @@ public void can_create_standard_qrcode_graphic()
#if !NETCOREAPP1_1 && !NETCOREAPP2_0
+ private string GetAssemblyPath()
+ {
+ return
+#if NET5_0
+ System.Reflection.Assembly.GetExecutingAssembly().Location;
+#else
+ System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Replace("file:\\", "");
+#endif
+ }
+
[Fact]
[Category("QRRenderer/QRCode")]
public void can_create_qrcode_with_transparent_logo_graphic()
@@ -45,7 +55,8 @@ public void can_create_qrcode_with_transparent_logo_graphic()
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H);
- var bmp = new QRCode(data).GetGraphic(10, Color.Black, Color.Transparent, icon: (Bitmap)Bitmap.FromFile(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).Replace("file:\\", "") + "\\assets\\noun_software engineer_2909346.png"));
+
+ var bmp = new QRCode(data).GetGraphic(10, Color.Black, Color.Transparent, icon: (Bitmap)Image.FromFile(GetAssemblyPath() + "\\assets\\noun_software engineer_2909346.png"));
//Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346
var ms = new MemoryStream();
@@ -66,7 +77,7 @@ public void can_create_qrcode_with_non_transparent_logo_graphic()
//Create QR code
var gen = new QRCodeGenerator();
var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H);
- var bmp = new QRCode(data).GetGraphic(10, Color.Black, Color.White, icon: (Bitmap)Bitmap.FromFile(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).Replace("file:\\", "") + "\\assets\\noun_software engineer_2909346.png"));
+ var bmp = new QRCode(data).GetGraphic(10, Color.Black, Color.White, icon: (Bitmap)Bitmap.FromFile(GetAssemblyPath() + "\\assets\\noun_software engineer_2909346.png"));
//Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346
var ms = new MemoryStream();
@@ -81,7 +92,4 @@ public void can_create_qrcode_with_non_transparent_logo_graphic()
}
#endif
}
-}
-
-
-
+}
\ No newline at end of file
diff --git a/QRCoderTests/QRCoderTests.csproj b/QRCoderTests/QRCoderTests.csproj
index 825b3ec9..2df86783 100644
--- a/QRCoderTests/QRCoderTests.csproj
+++ b/QRCoderTests/QRCoderTests.csproj
@@ -1,6 +1,9 @@
- net35;net452;netcoreapp1.1;netcoreapp2.0
+ net35;net452;netcoreapp1.1;netcoreapp2.0;net5.0;net5.0-windows
+ true
+ true
+ $(DefineConstants);NET5_0_WINDOWS
false
true