diff --git a/SacsCoreWeb/Web/Components/SaController.cs b/SacsCoreWeb/Web/Components/SaController.cs index 2ac0d4c..b79a382 100644 --- a/SacsCoreWeb/Web/Components/SaController.cs +++ b/SacsCoreWeb/Web/Components/SaController.cs @@ -424,7 +424,7 @@ namespace Sacs.Web.Components // Reference data. // Tax codes. - public class TaxCode + public class TaxCodeData { public string Id { get; set; } public string Code { get; set; } diff --git a/SacsStandardBase/Base/Core/ColumnDfn.cs b/SacsStandardBase/Base/Core/ColumnDfn.cs index 8d499f6..5c2a3e9 100644 --- a/SacsStandardBase/Base/Core/ColumnDfn.cs +++ b/SacsStandardBase/Base/Core/ColumnDfn.cs @@ -86,7 +86,7 @@ namespace Sarand.Net.Standard.Base.Core public ColumnAlignment Alignment { get; set; } = ColumnAlignment.Default; /// Data value name (may be an alias). public String DataName { get; set; } = String.Empty; - public byte NumDecimals { get; set; } = 2; + public ushort NumDecimals { get; set; } = 2; public char NumThousands { get; set; } = ','; /// Default: Zero values hidden. public bool ShowZeroValues { get; set; } = false; diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs index c45dd0f..b0d869b 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs @@ -12,21 +12,39 @@ namespace Sarand.Net.Standard.Base.ReferenceData //======================================================================= partial class SaReferenceDataConsole { + //------------------------------------------------------------------- + // Utilities. + public static String GetDefaultCurrencyCode() + { + return GetCurrencyCode(SaCurrencyCode.Sterling); + } + public static String GetCurrencyCode(SaCurrencyCode currencyCode) + { + switch (currencyCode) + { + case SaCurrencyCode.Sterling: return "GBP"; + case SaCurrencyCode.Euro: return "EUR"; + } + return ""; + } + + //------------------------------------------------------------------- // Properties. public abstract short CurrencyItemType { get; } public abstract String TableName_Currency { get; } public abstract bool DatabaseIsValid_Currency { get; } + //------------------------------------------------------------------- // Retrieve Currency. - public abstract SaCurrency GetCurrency (SaCurrency.Params prmCurrency); + public abstract SaCurrency GetCurrency(SaCurrency.Params prmCurrency); // Currency list. - public abstract ColumnDfn GetCurrencyColumnDfn (SaCurrency.Column columnId, String caption = "", int width = 0); - public abstract List GetCurrencyQueryFilter (SaCurrency.Params prm); - public abstract long GetCurrencyCount (SaCurrency.Params prmCurrency); - public abstract List GetCurrencyList (SaCurrency.Params prmCurrency); - public abstract DbResultSet ExecuteCurrencyQuery (List columns, SaCurrency.Params prm); - public abstract DataValue GetCurrencyDataValue (ColumnDfn column, NamedValue.Map values); + public abstract ColumnDfn GetCurrencyColumnDfn(SaCurrency.Column columnId, String caption = "", int width = 0); + public abstract List GetCurrencyQueryFilter(SaCurrency.Params prm); + public abstract long GetCurrencyCount(SaCurrency.Params prmCurrency); + public abstract List GetCurrencyList(SaCurrency.Params prmCurrency); + public abstract DbResultSet ExecuteCurrencyQuery(List columns, SaCurrency.Params prm); + public abstract DataValue GetCurrencyDataValue(ColumnDfn column, NamedValue.Map values); //------------------------------------------------------------------- } diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs index 0617edd..e59759b 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs @@ -12,8 +12,23 @@ namespace Sarand.Net.Standard.Base.ReferenceData //======================================================================= partial class SaReferenceDataConsole { + //------------------------------------------------------------------- // Utilities. - public static String GetTaxCode (SaTaxCodeType taxCode) + public static String GetStdTaxCode() + { + return GetTaxCode(SaTaxCodeType.Std); + } + public static String GetTaxCode(SaTaxCodeType taxCode) + { + switch (taxCode) + { + case SaTaxCodeType.Zero: return "ZERO"; + case SaTaxCodeType.Std: return "STD"; + case SaTaxCodeType.Exempt: return "EXEMPT"; + } + return ""; + } + public static String GetSageTaxCode(SaTaxCodeType taxCode) { switch (taxCode) { @@ -24,21 +39,23 @@ namespace Sarand.Net.Standard.Base.ReferenceData return ""; } + //------------------------------------------------------------------- // Properties. public abstract short TaxCodeItemType { get; } public abstract String TableName_TaxCode { get; } public abstract bool DatabaseIsValid_TaxCode { get; } + //------------------------------------------------------------------- // Retrieve Tax Code. - public abstract SaTaxCode GetTaxCode (SaTaxCode.Params prmTaxCode); + public abstract SaTaxCode GetTaxCode(SaTaxCode.Params prmTaxCode); // Tax Code list. - public abstract ColumnDfn GetTaxCodeColumnDfn (SaTaxCode.Column columnId, String caption = "", int width = 0); - public abstract List GetTaxCodeQueryFilter (SaTaxCode.Params prm); - public abstract long GetTaxCodeCount (SaTaxCode.Params prmTaxCode); - public abstract List GetTaxCodeList (SaTaxCode.Params prmTaxCode); - public abstract DbResultSet ExecuteTaxCodeQuery (List columns, SaTaxCode.Params prm); - public abstract DataValue GetTaxCodeDataValue (ColumnDfn column, NamedValue.Map values); + public abstract ColumnDfn GetTaxCodeColumnDfn(SaTaxCode.Column columnId, String caption = "", int width = 0); + public abstract List GetTaxCodeQueryFilter(SaTaxCode.Params prm); + public abstract long GetTaxCodeCount(SaTaxCode.Params prmTaxCode); + public abstract List GetTaxCodeList(SaTaxCode.Params prmTaxCode); + public abstract DbResultSet ExecuteTaxCodeQuery(List columns, SaTaxCode.Params prm); + public abstract DataValue GetTaxCodeDataValue(ColumnDfn column, NamedValue.Map values); //------------------------------------------------------------------- } diff --git a/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs b/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs index b1eb390..6b16f15 100644 --- a/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs +++ b/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Utils; +using System.Text.RegularExpressions; namespace Sarand.Net.Standard.Base.ReferenceData { @@ -189,7 +190,10 @@ namespace Sarand.Net.Standard.Base.ReferenceData public String GetCaption() { DateTime today = DateTime.Today; - String caption = $"{Code} (" + (!StringUtil.IsBlank(CodeAlt1) ? $"{CodeAlt1}: " : "") + $"{TaxRate.ToString("N2")})"; + String caption = $"{Code} ("; + if (!StringUtil.IsBlank(CodeAlt1) && !CodeAlt1.EqualsCI(Code)) + caption += $"{CodeAlt1}: "; + caption += $"{Regex.Replace(TaxRate.ToString("N2"), @"\.0+$", "")}%)"; if (DateUtil.IsValid(EffectFrom) || DateUtil.IsValid(EffectTo)) { String effectiveFrom = (DateUtil.IsValid(EffectFrom) ? (EffectFrom.Year == today.Year ? EffectFrom.ToString("d-MMM") : EffectFrom.ToString("d-MMM-yy")) : "");