diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..d7a8fd9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +[*.cs] + +# SA1101: Prefix local calls with this +dotnet_diagnostic.SA1101.severity = none + +# SA1309: Field names should not begin with underscore +dotnet_diagnostic.SA1309.severity = none + +# SA1623: Property summary documentation should match accessors +dotnet_diagnostic.SA1623.severity = none + +# SA1642: Constructor summary documentation should begin with standard text +dotnet_diagnostic.SA1642.severity = none diff --git a/BankAccount/BankAccount.cs b/BankAccount/BankAccount.cs index 0eda8f6..11b66c6 100644 --- a/BankAccount/BankAccount.cs +++ b/BankAccount/BankAccount.cs @@ -1,36 +1,17 @@ -using System; +// +// Copyright (c) Balázs Keresztury. All rights reserved. +// + +using System; using System.Collections.Generic; namespace MagyarNemzetiBank { + /// + /// Represents a single Hungarian Bank Account. + /// public class BankAccount { - /// - /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens - /// - public string AccountNumber { get; set; } - /// - /// Tells whether the bank account's account number is valid - /// - public bool IsValid => BankAccountValidator.Validate(AccountNumber); - /// - /// Name of the bank the BankAccount belongs to - /// - public string Bank - { - get - { - if (IsValid) - { - return _giroBankDictionary[Convert.ToInt32(AccountNumber.Substring(0, 3))]; - } - else - { - throw new FormatException("Invalid Bank Account"); - } - } - } - // https://www.mnb.hu/letoltes/hitelintezetek-azonosito-adatai.pdf private readonly Dictionary _giroBankDictionary = new Dictionary() { @@ -65,7 +46,7 @@ public string Bank { 109, "UniCredit Bank Hungary Zrt." }, { 171, "UniCredit Jelzálogbank Zrt." }, { 147, "IC Bank Zrt." }, - { 111, "Inter-Európa Bank Zrt."}, + { 111, "Inter-Európa Bank Zrt." }, { 137, "ING Bank (Magyarország) Zrt." }, { 104, "Kereskedelmi és Hitelbank Zrt." }, { 144, "Központi Elszámolóház és Értéktár Zrt. (KELER)" }, @@ -97,16 +78,44 @@ public string Bank { 700, "Tiszaföldvár és Vidéke Takarékszövetkezet, Tiszaföldvár" }, { 803, "Tiszántúli Első Hitelszövetkezet" }, { 659, "Turai Takarékszövetkezet, Tura" }, - { 121, "Westdeutche Landesbank (Hungária) Zrt." } + { 121, "Westdeutche Landesbank (Hungária) Zrt." }, }; /// - /// Bank Account + /// Initializes a new instance of the class. /// - /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens + /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens. public BankAccount(string accountNumber) { AccountNumber = accountNumber; } + + /// + /// Bank Account Number in the format of 00000000-00000000 or 00000000-00000000-00000000 with or without the hyphens. + /// + public string AccountNumber { get; set; } + + /// + /// Tells whether the bank account's account number is valid. + /// + public bool IsValid => BankAccountValidator.Validate(AccountNumber); + + /// + /// Name of the bank the BankAccount belongs to. + /// + public string Bank + { + get + { + if (IsValid) + { + return _giroBankDictionary[Convert.ToInt32(AccountNumber.Substring(0, 3))]; + } + else + { + throw new FormatException("Invalid Bank Account"); + } + } + } } } diff --git a/BankAccount/BankAccount.csproj b/BankAccount/BankAccount.csproj index 47b1395..b9aa4d8 100644 --- a/BankAccount/BankAccount.csproj +++ b/BankAccount/BankAccount.csproj @@ -1,18 +1,29 @@ - - netstandard1.1 + netstandard1.0;netstandard2.0 MagyarNemzetiBank MagyarNemzetiBank.BankAccount This library written in pure C# checks the validity of Hungarian bank account numbers and determines which bank they belong to - Balázs Keresztury Copyright (c) 2019 Balázs Keresztury MagyarNemzetiBank.BankAccount - 1.0.0 - false + MIT + https://github.com/belidzs/MagyarNemzetiBank.BankAccount + https://github.com/belidzs/MagyarNemzetiBank.BankAccount + mnb bank banking bank-account bankaccount giro central-bank hungarian + Balázs Keresztury + true + 1.0.1 - - - - + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/BankAccount/BankAccount.nuspec b/BankAccount/BankAccount.nuspec deleted file mode 100644 index 37e1cec..0000000 --- a/BankAccount/BankAccount.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - $id$ - $version$ - $title$ - $author$ - belidzs - https://github.com/belidzs/MagyarNemzetiBank.BankAccount/blob/develop/LICENCE - https://github.com/belidzs/MagyarNemzetiBank.BankAccount - false - $description$ - First stable version - $copyright$ - mnb bank banking bank-account bankaccount giro central-bank hungarian - - \ No newline at end of file diff --git a/BankAccount/BankAccountValidator.cs b/BankAccount/BankAccountValidator.cs index a8dcbfb..75cc31b 100644 --- a/BankAccount/BankAccountValidator.cs +++ b/BankAccount/BankAccountValidator.cs @@ -1,4 +1,8 @@ -/* +// +// Copyright (c) Balázs Keresztury. All rights reserved. +// + +/* * 18/2009. (VIII. 6.) MNB rendelet a pénzforgalom lebonyolításáról * http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=A0900018.MNB&celpara=#xcelparam * @@ -16,29 +20,35 @@ namespace MagyarNemzetiBank { /// - /// Static class to validate Hungarian bank account numbers + /// Static class to validate Hungarian bank account numbers. /// public static class BankAccountValidator { + private const string RegexGiro = "^[0-9]{8}-?[0-9]{8}(-?[0-9]{8})?$"; + // ellenőrzőalgoritmusban meghatározott szorzók private static readonly int[] Multipliers = { 9, 7, 3, 1 }; - private const string RegexGiro = "^[0-9]{8}-?[0-9]{8}(-?[0-9]{8})?$"; /// - /// Checks if the given bank account number conforms to the Hungarian bank account number format and performs a parity check + /// Checks if the given bank account number conforms to the Hungarian bank account number format and performs a parity check. /// - /// Bank account number with or without hyphens - /// True if the account number is valid + /// Bank account number with or without hyphens. + /// True if the account number is valid. public static bool Validate(string accountNumber) { - if (accountNumber == null || accountNumber.Equals("")) return true; - //megfelelés regex formátumnak + if (accountNumber == null || accountNumber.Equals(string.Empty)) + { + return true; + } + + // megfelelés regex formátumnak Regex regexGiro = new Regex(RegexGiro); if (regexGiro.IsMatch(accountNumber)) { // ha megfelel a regexnek // kötőjelek eltávolítása - accountNumber = accountNumber.Replace("-", ""); + accountNumber = accountNumber.Replace("-", string.Empty); + // első nyolc blokk és a maradék ellenőrzése, külön return ValidateBlock(accountNumber.Substring(0, 8)) && ValidateBlock(accountNumber.Substring(8)); } @@ -55,13 +65,15 @@ private static bool ValidateBlock(string accountNumberBlock) for (int j = 0; j < accountNumberBlock.Length - 1; j++) { // szorzatösszeg kalkulálása - result += Int32.Parse(accountNumberBlock[j].ToString()) * Multipliers[j % 4]; + result += int.Parse(accountNumberBlock[j].ToString()) * Multipliers[j % 4]; } - if ((10 - result % 10) % 10 != Int32.Parse(accountNumberBlock[accountNumberBlock.Length - 1].ToString())) + + if ((10 - (result % 10)) % 10 != int.Parse(accountNumberBlock[accountNumberBlock.Length - 1].ToString())) { // a szorzatösszeg modulo 10 értékét 10-ből kivonva az utolsó számjegyet kell kapni. Ha ez 10, akkor 0-t return false; } + return true; } } diff --git a/BankAccount/Properties/AssemblyInfo.cs b/BankAccount/Properties/AssemblyInfo.cs deleted file mode 100644 index 7ea2a87..0000000 --- a/BankAccount/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("MagyarNemzetiBank.BankAccount")] -[assembly: AssemblyDescription("This library written in pure C# checks the validity of Hungarian bank account numbers and determines which bank they belong to.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Balázs Keresztury")] -[assembly: AssemblyProduct("MagyarNemzetiBank.BankAccount")] -[assembly: AssemblyCopyright("Copyright (c) 2019 Balázs Keresztury")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("46844df6-193c-425b-b616-7e659dee4fb0")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/BankAccount/stylecop.json b/BankAccount/stylecop.json new file mode 100644 index 0000000..3df3db0 --- /dev/null +++ b/BankAccount/stylecop.json @@ -0,0 +1,17 @@ +{ + // ACTION REQUIRED: This file was automatically added to your project, but it + // will not take effect until additional steps are taken to enable it. See the + // following page for additional information: + // + // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md + + "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", + "settings": { + "documentationRules": { + "companyName": "Balázs Keresztury", + }, + "orderingRules": { + "usingDirectivesPlacement": "outsideNamespace" + } + } +} diff --git a/BankAccountExample/App.config b/BankAccountExample/App.config deleted file mode 100644 index 7eb8d24..0000000 --- a/BankAccountExample/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/BankAccountExample/BankAccountExample.csproj b/BankAccountExample/BankAccountExample.csproj deleted file mode 100644 index 4c4b647..0000000 --- a/BankAccountExample/BankAccountExample.csproj +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Debug - AnyCPU - {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38} - Exe - MagyarNemzetiBank - MagyarNemzetiBank.BankAccountExample - v4.6.1 - 512 - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - - {F868E5A1-F07A-4A11-A399-065DA1E192A8} - BankAccount - - - - \ No newline at end of file diff --git a/BankAccountExample/Program.cs b/BankAccountExample/Program.cs deleted file mode 100644 index e019dc8..0000000 --- a/BankAccountExample/Program.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MagyarNemzetiBank; - -namespace MagyarNemzetiBank.BankAccountExample -{ - class Program - { - static void Main(string[] args) - { - string validAccountNumber = "10032000-01076349"; - var accountValid = new BankAccount(validAccountNumber); - System.Console.WriteLine($"{accountValid.AccountNumber}: IsValid = {accountValid.IsValid}, Bank = {accountValid.Bank}"); - - var accountInvalidNumber = new BankAccount("00000000-00000000-00000001"); - System.Console.WriteLine($"{accountInvalidNumber.AccountNumber}: IsValid = {accountInvalidNumber.IsValid}"); - try - { - System.Console.WriteLine($"Checking bank details for {accountInvalidNumber.AccountNumber}"); - System.Console.WriteLine(accountInvalidNumber.Bank); - } - catch (FormatException) - { - System.Console.WriteLine($"{typeof(FormatException)} was thrown because account number was not valid"); - } - - var accountInvalidBank = new BankAccount("00000000-00000000"); - System.Console.WriteLine($"{accountInvalidBank.AccountNumber}: IsValid = {accountInvalidBank.IsValid} (it's technically valid)"); - try - { - System.Console.WriteLine($"Checking bank details for {accountInvalidBank.AccountNumber}"); - System.Console.WriteLine(accountInvalidBank.Bank); - } - catch (KeyNotFoundException) - { - System.Console.WriteLine($"{typeof(KeyNotFoundException)} was thrown, because the bank account number doesn't belong to any known bank."); - } - System.Console.ReadKey(); - } - } -} diff --git a/BankAccountExample/Properties/AssemblyInfo.cs b/BankAccountExample/Properties/AssemblyInfo.cs deleted file mode 100644 index ea90229..0000000 --- a/BankAccountExample/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ConsoleApp1")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ConsoleApp1")] -[assembly: AssemblyCopyright("Copyright © 2019")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("1a4aca5a-7461-4a21-ac51-e3f784e3cc38")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/BankAccountExamples/BankAccountExamples.csproj b/BankAccountExamples/BankAccountExamples.csproj new file mode 100644 index 0000000..89d2bd4 --- /dev/null +++ b/BankAccountExamples/BankAccountExamples.csproj @@ -0,0 +1,28 @@ + + + + Exe + netcoreapp3.1 + 1.0.1 + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/BankAccountExamples/Program.cs b/BankAccountExamples/Program.cs new file mode 100644 index 0000000..095b540 --- /dev/null +++ b/BankAccountExamples/Program.cs @@ -0,0 +1,52 @@ +// +// Copyright (c) Balázs Keresztury. All rights reserved. +// + +using System; +using System.Collections.Generic; +using MagyarNemzetiBank; + +namespace BankAccountExamples +{ + /// + /// Main entry point of the application. + /// + public class Program + { + /// + /// Main entry point of the application. + /// + public static void Main() + { + string validAccountNumber = "10032000-01076349"; + var accountValid = new BankAccount(validAccountNumber); + Console.WriteLine($"{accountValid.AccountNumber}: IsValid = {accountValid.IsValid}, Bank = {accountValid.Bank}"); + + var accountInvalidNumber = new BankAccount("00000000-00000000-00000001"); + Console.WriteLine($"{accountInvalidNumber.AccountNumber}: IsValid = {accountInvalidNumber.IsValid}"); + try + { + Console.WriteLine($"Checking bank details for {accountInvalidNumber.AccountNumber}"); + Console.WriteLine(accountInvalidNumber.Bank); + } + catch (FormatException) + { + Console.WriteLine($"{typeof(FormatException)} was thrown because account number was not valid"); + } + + var accountInvalidBank = new BankAccount("00000000-00000000"); + Console.WriteLine($"{accountInvalidBank.AccountNumber}: IsValid = {accountInvalidBank.IsValid} (it's technically valid)"); + try + { + Console.WriteLine($"Checking bank details for {accountInvalidBank.AccountNumber}"); + Console.WriteLine(accountInvalidBank.Bank); + } + catch (KeyNotFoundException) + { + Console.WriteLine($"{typeof(KeyNotFoundException)} was thrown because the bank account number doesn't belong to any known bank."); + } + + Console.ReadKey(); + } + } +} diff --git a/BankAccountExamples/stylecop.json b/BankAccountExamples/stylecop.json new file mode 100644 index 0000000..ebc1523 --- /dev/null +++ b/BankAccountExamples/stylecop.json @@ -0,0 +1,17 @@ +{ + // ACTION REQUIRED: This file was automatically added to your project, but it + // will not take effect until additional steps are taken to enable it. See the + // following page for additional information: + // + // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md + + "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", + "settings": { + "documentationRules": { + "companyName": "Balázs Keresztury" + }, + "orderingRules": { + "usingDirectivesPlacement": "outsideNamespace" + } + } +} diff --git a/BankAccountTests/BankAccountTests.cs b/BankAccountTests/BankAccountTests.cs index 721de4b..77d5fd5 100644 --- a/BankAccountTests/BankAccountTests.cs +++ b/BankAccountTests/BankAccountTests.cs @@ -1,12 +1,22 @@ -using NUnit.Framework; +// +// Copyright (c) Balázs Keresztury. All rights reserved. +// + using System; using System.Collections.Generic; +using NUnit.Framework; namespace MagyarNemzetiBank.Tests { + /// + /// Tests for the BankAccount class. + /// [TestFixture] public class BankAccountTests { + /// + /// Tests if a valid bank account number belonging to a known bank is recognized. + /// [Test] public void TestKnownBank() { @@ -14,6 +24,9 @@ public void TestKnownBank() Assert.That(testAccount.Bank, Is.EqualTo("Magyar Államkincstár")); } + /// + /// Tests if reading bank information of a valid bank account number which doesn't belong to a known bank throws an exception. + /// [Test] public void TestUnknownBank() { @@ -21,6 +34,9 @@ public void TestUnknownBank() Assert.That(() => testAccount.Bank, Throws.InstanceOf(typeof(KeyNotFoundException))); } + /// + /// Tests if an invalid bank account number is recognized as such and an exception is thrown. + /// [Test] public void TestInvalidFormat() { diff --git a/BankAccountTests/BankAccountTests.csproj b/BankAccountTests/BankAccountTests.csproj index f771434..fb2bbf7 100644 --- a/BankAccountTests/BankAccountTests.csproj +++ b/BankAccountTests/BankAccountTests.csproj @@ -1,70 +1,33 @@ - - - - - + + - Debug - AnyCPU - {8EDF4429-251A-416D-BB68-93F227191BCF} - Library - Properties - MagyarNemzetiBank.Tests - MagyarNemzetiBank.Tests - v4.6.1 - 512 - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + netcoreapp3.1 + 1.0.1 + - - ..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll - - + + - - + + - + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + - - {f868e5a1-f07a-4a11-a399-065da1e192a8} - BankAccount - + - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - \ No newline at end of file + + diff --git a/BankAccountTests/BankAccountValidatorTests.cs b/BankAccountTests/BankAccountValidatorTests.cs index c5c6101..ce0335a 100644 --- a/BankAccountTests/BankAccountValidatorTests.cs +++ b/BankAccountTests/BankAccountValidatorTests.cs @@ -1,10 +1,21 @@ -using NUnit.Framework; +// +// Copyright (c) Balázs Keresztury. All rights reserved. +// + +using NUnit.Framework; namespace MagyarNemzetiBank.Tests { + /// + /// Tests various valid and invalid account numbers. + /// [TestFixture] public class BankAccountValidatorTests { + /// + /// Tests if valid bank account numbers are recognized. + /// + /// Bank account number. [TestCase("109180010000041626260018")] [TestCase("10918001-00000416-26260018")] [TestCase("100320000107634900000000")] @@ -16,6 +27,10 @@ public void TestValid(string accountNumber) Assert.That(BankAccountValidator.Validate(accountNumber), Is.True); } + /// + /// Tests if correctly formatted but mathematically invalid bank account numbers are recognized as such. + /// + /// Bank account number. [TestCase("109180010000041626260017")] [TestCase("10918001-00000416-26260017")] [TestCase("100320000107634900000001")] @@ -27,6 +42,10 @@ public void TestBadChecksum(string accountNumber) Assert.That(BankAccountValidator.Validate(accountNumber), Is.False); } + /// + /// Tests if bank account numbers not meeting basic format are recognized as invalid. + /// + /// Bank account number. [TestCase("10032000010763490000000")] [TestCase("10032000-01076349-0000000")] [TestCase("100320000107634")] diff --git a/BankAccountTests/packages.config b/BankAccountTests/packages.config deleted file mode 100644 index 485cd7d..0000000 --- a/BankAccountTests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/BankAccountTests/stylecop.json b/BankAccountTests/stylecop.json new file mode 100644 index 0000000..3df3db0 --- /dev/null +++ b/BankAccountTests/stylecop.json @@ -0,0 +1,17 @@ +{ + // ACTION REQUIRED: This file was automatically added to your project, but it + // will not take effect until additional steps are taken to enable it. See the + // following page for additional information: + // + // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md + + "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", + "settings": { + "documentationRules": { + "companyName": "Balázs Keresztury", + }, + "orderingRules": { + "usingDirectivesPlacement": "outsideNamespace" + } + } +} diff --git a/MagyarNemzetiBank.BankAccount.sln b/MagyarNemzetiBank.BankAccount.sln index 6a4d18c..e76c5c5 100644 --- a/MagyarNemzetiBank.BankAccount.sln +++ b/MagyarNemzetiBank.BankAccount.sln @@ -1,13 +1,13 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.645 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29806.167 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BankAccount", "BankAccount\BankAccount.csproj", "{F868E5A1-F07A-4A11-A399-065DA1E192A8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountTests", "BankAccountTests\BankAccountTests.csproj", "{8EDF4429-251A-416D-BB68-93F227191BCF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountExamples", "BankAccountExamples\BankAccountExamples.csproj", "{FBFC5E26-44D5-4378-B99F-7767A848D33D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountExample", "..\..\..\Documents\Visual Studio 2017\Projects\MagyarNemzetiBank.BankAccount\BankAccountExample\BankAccountExample.csproj", "{1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankAccountTests", "BankAccountTests\BankAccountTests.csproj", "{F87688C5-A548-41E7-9104-149180FF56F4}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -19,14 +19,14 @@ Global {F868E5A1-F07A-4A11-A399-065DA1E192A8}.Debug|Any CPU.Build.0 = Debug|Any CPU {F868E5A1-F07A-4A11-A399-065DA1E192A8}.Release|Any CPU.ActiveCfg = Release|Any CPU {F868E5A1-F07A-4A11-A399-065DA1E192A8}.Release|Any CPU.Build.0 = Release|Any CPU - {8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.Build.0 = Release|Any CPU - {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A4ACA5A-7461-4A21-AC51-E3F784E3CC38}.Release|Any CPU.Build.0 = Release|Any CPU + {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FBFC5E26-44D5-4378-B99F-7767A848D33D}.Release|Any CPU.Build.0 = Release|Any CPU + {F87688C5-A548-41E7-9104-149180FF56F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F87688C5-A548-41E7-9104-149180FF56F4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F87688C5-A548-41E7-9104-149180FF56F4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F87688C5-A548-41E7-9104-149180FF56F4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE