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")) : "");