diff --git a/advanced_template.zip b/advanced_template.zip index 50bd9d9..d5d85d9 100644 Binary files a/advanced_template.zip and b/advanced_template.zip differ diff --git a/templates/advanced/OutSystems.IbanChecker.UnitTests/IbanCheckerTests.cs b/templates/advanced/OutSystems.IbanChecker.UnitTests/IbanCheckerTests.cs index 4041b02..fb2698a 100644 --- a/templates/advanced/OutSystems.IbanChecker.UnitTests/IbanCheckerTests.cs +++ b/templates/advanced/OutSystems.IbanChecker.UnitTests/IbanCheckerTests.cs @@ -1,6 +1,5 @@ using IbanNet; using IbanNet.Registry; -using Microsoft.Extensions.Logging; using NUnit.Framework; using OutSystems.ExternalLibraries.SDK; using Iban = OutSystems.IbanChecker.Structures.Iban; @@ -79,8 +78,7 @@ public void IbanCheckerCorrectlyParsesValidIban() { // valid IBAN string using the IbanParser. var parser = new IbanParser(IbanRegistry.Default); var iban = parser.Parse("NL91 ABNA 0417 1643 00"); - var logger = new LoggerFactory().CreateLogger(); - var checker = new IbanChecker(logger); + var checker = new IbanChecker(); // Act: Parse a sample valid IBAN string using the IbanChecker. var ibanStruct = checker.Parse("NL91 ABNA 0417 1643 00"); @@ -101,8 +99,7 @@ public void IbanCheckerCorrectlyTryParsesValidIban() { // valid IBAN string using the IbanParser. var parser = new IbanParser(IbanRegistry.Default); var iban = parser.Parse("NL91 ABNA 0417 1643 00"); - var logger = new LoggerFactory().CreateLogger(); - var checker = new IbanChecker(logger); + var checker = new IbanChecker(); // Act: Try to parse a sample valid IBAN string using the IbanChecker and // check for success. @@ -125,9 +122,8 @@ public void IbanCheckerCorrectlyTryParsesValidIban() { // [Test] public void IbanCheckerCorrectlyTryParsesInvalidIban() { - var logger = new LoggerFactory().CreateLogger(); // Setup: Instantiate a new IbanChecker. - var checker = new IbanChecker(logger); + var checker = new IbanChecker(); // Act: Try to parse a sample invalid IBAN string using the IbanChecker and // check for failure. @@ -149,9 +145,8 @@ public void IbanCheckerCorrectlyTryParsesInvalidIban() { /// [Test] public void IbanCheckerCorrectlyValidatesIbanFromRejectedCountry() { - var logger = new LoggerFactory().CreateLogger(); // Setup: Instantiate a new IbanChecker. - var checker = new IbanChecker(logger); + var checker = new IbanChecker(); // Act: Validate an IBAN using the IbanChecker, providing a list of // rejected countries. @@ -174,9 +169,8 @@ public void IbanCheckerCorrectlyValidatesIbanFromRejectedCountry() { /// [Test] public void IbanCheckerCorrectlyValidatesIbanFromAcceptedCountry() { - var logger = new LoggerFactory().CreateLogger(); // Setup: Instantiate a new IbanChecker. - var checker = new IbanChecker(logger); + var checker = new IbanChecker(); // Act: Validate an IBAN using the IbanChecker, providing a list of // rejected countries that does not include the IBAN's country code. diff --git a/templates/advanced/OutSystems.IbanChecker/IbanChecker.cs b/templates/advanced/OutSystems.IbanChecker/IbanChecker.cs index 084581b..c26a861 100644 --- a/templates/advanced/OutSystems.IbanChecker/IbanChecker.cs +++ b/templates/advanced/OutSystems.IbanChecker/IbanChecker.cs @@ -2,7 +2,6 @@ using System.Linq; using IbanNet; using IbanNet.Registry; -using Microsoft.Extensions.Logging; namespace OutSystems.IbanChecker { /// @@ -24,20 +23,12 @@ public class IbanChecker : IIbanChecker { private IIbanValidator _validator; /// - /// An instance of ILogger from the Microsoft.Extensions.Logging library, used for - /// logging. - /// - private readonly ILogger _logger; - - /// - /// The constructor initializes the IbanChecker class with the specified logger and creates new instances + /// The constructor initializes the IbanChecker class with new instances /// of the IbanParser and IbanValidator classes from the IbanNet library. /// - /// The logger instance used for logging operations within the IbanChecker. - public IbanChecker(ILogger logger) { + public IbanChecker() { _validator = new IbanValidator(); _parser = new IbanParser(_validator); - _logger = logger; } /// @@ -49,7 +40,6 @@ public IbanChecker(ILogger logger) { /// An Iban struct representing the parsed IBAN. /// Thrown if the parsing fails. public Structures.Iban Parse(string value) { - _logger.LogInformation("Parsing IBAN: {IbanValue}", value); return new Structures.Iban(_parser.Parse(value)); } @@ -66,10 +56,8 @@ public bool TryParse(string value, out Structures.Iban? iban) { IbanNet.Iban? internalIban; if (_parser.TryParse(value, out internalIban)) { iban = new Structures.Iban(internalIban); - _logger.LogInformation("Successfully parsed IBAN: {IbanValue}", value); return true; } - _logger.LogWarning("Failed to parse IBAN: {IbanValue}", value); return false; } @@ -87,10 +75,8 @@ public Structures.ValidationResult Validate(string iban, IEnumerable? re var validatorWithRejectedCountries = new IbanValidator(new IbanValidatorOptions { Rules = { new CustomRules.RejectCountryRule(rejectedCountries) } }); - _logger.LogInformation("Validating IBAN: {IbanValue} with rejected countries: {RejectedCountries}", iban, rejectedCountries); return new Structures.ValidationResult(validatorWithRejectedCountries.Validate(iban)); } - _logger.LogInformation("Validating IBAN: {IbanValue} with default rules", iban); return new Structures.ValidationResult(_validator.Validate(iban)); } @@ -108,16 +94,12 @@ public string Format(Structures.Iban iban, string? format = null) { var ibanBuilder = new IbanNet.Builders.IbanBuilder(); IbanRegistry.Default.TryGetValue(iban.Country.TwoLetterISORegionName, out IbanCountry? country); if (country == null) { - var errorMessage = "Invalid country: " + iban.Country.TwoLetterISORegionName; - _logger.LogError("Failed to format IBAN. {ErrorMessage}.", errorMessage); - throw new System.Exception(errorMessage); - } + throw new System.Exception("Invalid country: " + iban.Country.TwoLetterISORegionName); + } var ib = _parser.Parse(ibanBuilder .WithCountry(country) .WithBankAccountNumber(iban.Bban) .Build()); - _logger.LogInformation("Formatting IBAN for country: {CountryCode} with format: {Format}.", - iban.Country.TwoLetterISORegionName, format ?? ""); return ib.ToString(format); } } diff --git a/templates/advanced/OutSystems.IbanChecker/OutSystems.IbanChecker.csproj b/templates/advanced/OutSystems.IbanChecker/OutSystems.IbanChecker.csproj index 5253e21..216f82a 100644 --- a/templates/advanced/OutSystems.IbanChecker/OutSystems.IbanChecker.csproj +++ b/templates/advanced/OutSystems.IbanChecker/OutSystems.IbanChecker.csproj @@ -8,7 +8,6 @@ -