From 75d5646ce2bc951b38ef3557ed141f4e8e9d77a2 Mon Sep 17 00:00:00 2001 From: Simon Geering <25039878+SimonGeering@users.noreply.github.com> Date: Tue, 24 Nov 2020 15:22:09 +0000 Subject: [PATCH] #146 Switched BankAccountInfo to be a record --- .../Modules/AccountsModule/BankAccountInfo.cs | 14 ++++++------ .../Builders/BankAccountInfoBuilder.cs | 22 +++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/AdminAssistant/DomainModel/Modules/AccountsModule/BankAccountInfo.cs b/src/AdminAssistant/DomainModel/Modules/AccountsModule/BankAccountInfo.cs index 03a3cfa3..42f940a1 100644 --- a/src/AdminAssistant/DomainModel/Modules/AccountsModule/BankAccountInfo.cs +++ b/src/AdminAssistant/DomainModel/Modules/AccountsModule/BankAccountInfo.cs @@ -2,14 +2,14 @@ namespace AdminAssistant.DomainModel.Modules.AccountsModule { - public class BankAccountInfo : IDatabasePersistable + public record BankAccountInfo : IDatabasePersistable { - public int BankAccountID { get; set; } - public string AccountName { get; set; } = string.Empty; - public int CurrentBalance { get; set; } - public string Symbol { get; set; } = string.Empty; - public string DecimalFormat { get; set; } = string.Empty; - public bool IsBudgeted { get; set; } + public int BankAccountID { get; init; } + public string AccountName { get; init; } = string.Empty; + public int CurrentBalance { get; init; } + public string Symbol { get; init; } = string.Empty; + public string DecimalFormat { get; init; } = string.Empty; + public bool IsBudgeted { get; init; } public int PrimaryKey => BankAccountID; } diff --git a/src/AdminAssistant/DomainModel/Modules/AccountsModule/Builders/BankAccountInfoBuilder.cs b/src/AdminAssistant/DomainModel/Modules/AccountsModule/Builders/BankAccountInfoBuilder.cs index f424ea23..c3071176 100644 --- a/src/AdminAssistant/DomainModel/Modules/AccountsModule/Builders/BankAccountInfoBuilder.cs +++ b/src/AdminAssistant/DomainModel/Modules/AccountsModule/Builders/BankAccountInfoBuilder.cs @@ -5,21 +5,25 @@ public interface IBankAccountInfoBuilder BankAccountInfo Build(); IBankAccountInfoBuilder WithTestData(int bankAccountInfoID = Constants.UnknownRecordID); } - internal class BankAccountInfoBuilder : BankAccountInfo, IBankAccountInfoBuilder + internal class BankAccountInfoBuilder : IBankAccountInfoBuilder { + private BankAccountInfo _bankAccountInfo = new BankAccountInfo(); + public static BankAccountInfo Default(IBankAccountInfoBuilder builder) => builder.Build(); - public BankAccountInfo Build() => this; + public BankAccountInfo Build() => _bankAccountInfo; public IBankAccountInfoBuilder WithTestData(int bankAccountID = 0) { - BankAccountID = bankAccountID; - AccountName = "A valid account name"; - CurrentBalance = 0; - Symbol = "GBP"; - DecimalFormat = "2.2-2"; - IsBudgeted = false; - + _bankAccountInfo = _bankAccountInfo with + { + BankAccountID = bankAccountID, + AccountName = "A valid account name", + CurrentBalance = 0, + Symbol = "GBP", + DecimalFormat = "2.2-2", + IsBudgeted = false + }; return this; } }