BusinessMgr 3.0.0.4

This commit is contained in:
Andy Howard
2025-02-11 21:03:58 +00:00
parent c84980672b
commit a5eede4704
24 changed files with 398 additions and 326 deletions
@@ -2,6 +2,8 @@
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=======================================================================
// Reference Data manager.
//=======================================================================
public abstract partial class SaReferenceDataMgr : SacsItemMgr
{
@@ -16,7 +18,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Construction.
protected SaReferenceDataMgr ()
protected SaReferenceDataMgr()
{
}
@@ -6,31 +6,31 @@ using Sarand.Net.Standard.Base.Dbas;
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=======================================================================
// Reference Data manager - Currencies.
//=======================================================================
public abstract partial class SaReferenceDataMgr : SacsItemMgr
{
//*******************************************************************
// C u r r e n c i e s
//*******************************************************************
//-------------------------------------------------------------------
// Create currency.
public abstract SaCurrency CreateCurrency ();
public abstract SaCurrency CreateCurrency();
// Retrieve individual currencies.
public abstract bool CurrencyExistsById (SysId id);
public abstract bool CurrencyExistsByCode (String code);
public abstract SaCurrency GetCurrencyById (SysId id);
public abstract SaCurrency GetCurrencyByCode (String code);
public abstract SaCurrency GetCurrency (SaCurrency.Params prm);
public abstract bool CurrencyExistsById(SysId id);
public abstract bool CurrencyExistsByCode(String code);
public abstract SaCurrency GetCurrencyById(SysId id);
public abstract SaCurrency GetCurrencyByCode(String code);
public abstract SaCurrency GetCurrency(SaCurrency.Params prm);
//-------------------------------------------------------------------
// Validate currency data.
public bool IsValidCurrency (SaCurrency currency)
public bool IsValidCurrency(SaCurrency currency)
{
ClearErrorState();
if (currency == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
return IsValidCurrencyData(currency.GetData(), new SaCurrency.ErrField());
}
public virtual bool IsValidCurrencyData (SaCurrency.Data data, SaCurrency.ErrField errField)
public virtual bool IsValidCurrencyData(SaCurrency.Data data, SaCurrency.ErrField errField)
{
ClearErrorState();
// Currency properties.
@@ -81,31 +81,31 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Currency database interface.
public abstract bool InsertCurrency (SaCurrency currency, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateCurrency (SaCurrency currency, DbUpdateInfo dbUpdateInfo);
public virtual bool CurrencyCanBeDeleted (SaCurrency currency)
public abstract bool InsertCurrency(SaCurrency currency, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateCurrency(SaCurrency currency, DbUpdateInfo dbUpdateInfo);
public virtual bool CurrencyCanBeDeleted(SaCurrency currency)
{
ClearErrorState();
if (currency == null) return SetErrorState(Msg_ItemNotSpecified);
if (currency.HasDependentCurrencies()) return SetErrorState("Has dependent currencies");
return true;
}
public abstract bool DeleteCurrency (SaCurrency currency, DbUpdateInfo dbUpdateInfo);
public abstract bool DeleteCurrency(SaCurrency currency, DbUpdateInfo dbUpdateInfo);
//-------------------------------------------------------------------
// Currency list.
public abstract ColumnDfn GetCurrencyColumnDfn (SaCurrency.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetCurrencyQueryFilter (SaCurrency.Params prm);
public abstract long GetCurrencyCount (SaCurrency.Params prm);
public abstract List<SaCurrency> GetCurrencyList (SaCurrency.Params prm);
public abstract DbResultSet ExecuteCurrencyQuery (List<ColumnDfn> columns, SaCurrency.Params prm);
public abstract ColumnDfn GetCurrencyColumnDfn(SaCurrency.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetCurrencyQueryFilter(SaCurrency.Params prm);
public abstract long GetCurrencyCount(SaCurrency.Params prm);
public abstract List<SaCurrency> GetCurrencyList(SaCurrency.Params prm);
public abstract DbResultSet ExecuteCurrencyQuery(List<ColumnDfn> columns, SaCurrency.Params prm);
//-------------------------------------------------------------------
/// <summary>
/// Extract and format result set data value where specific handling is required.
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
/// </summary>
public virtual DataValue GetCurrencyDataValue (ColumnDfn column, NamedValue.Map values)
public virtual DataValue GetCurrencyDataValue(ColumnDfn column, NamedValue.Map values)
{
DataValue value = new DataValue();
/*
@@ -7,31 +7,31 @@ using Sarand.Net.Standard.Base.Dbas;
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=======================================================================
// Reference Data manager - Languages.
//=======================================================================
public abstract partial class SaReferenceDataMgr : SacsItemMgr
{
//*******************************************************************
// L a n g u a g e s
//*******************************************************************
//-------------------------------------------------------------------
// Retrieve individual languages.
public abstract bool LanguageExistsById (SysId id);
public abstract bool LanguageExistsByCode (String code);
public abstract SaLanguage GetLanguageById (SysId id);
public abstract SaLanguage GetLanguageByCode (String code);
public abstract SaLanguage GetLanguage (SaLanguage.Params prm);
public abstract bool LanguageExistsById(SysId id);
public abstract bool LanguageExistsByCode(String code);
public abstract SaLanguage GetLanguageById(SysId id);
public abstract SaLanguage GetLanguageByCode(String code);
public abstract SaLanguage GetLanguage(SaLanguage.Params prm);
// Create language.
public abstract SaLanguage CreateLanguage ();
public abstract SaLanguage CreateLanguage();
//-------------------------------------------------------------------
// Validate language data.
public bool IsValidLanguage (SaLanguage language)
public bool IsValidLanguage(SaLanguage language)
{
ClearErrorState();
if (language == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
return IsValidLanguageData(language.GetData(), new SaLanguage.ErrField());
}
public virtual bool IsValidLanguageData (SaLanguage.Data data, SaLanguage.ErrField errField)
public virtual bool IsValidLanguageData(SaLanguage.Data data, SaLanguage.ErrField errField)
{
ClearErrorState();
// Language properties.
@@ -70,31 +70,31 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Language database interface.
public abstract bool InsertLanguage (SaLanguage language, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateLanguage (SaLanguage language, DbUpdateInfo dbUpdateInfo);
public virtual bool LanguageCanBeDeleted (SaLanguage language)
public abstract bool InsertLanguage(SaLanguage language, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateLanguage(SaLanguage language, DbUpdateInfo dbUpdateInfo);
public virtual bool LanguageCanBeDeleted(SaLanguage language)
{
ClearErrorState();
if (language == null) return SetErrorState(Msg_ItemNotSpecified);
if (language.HasDependentLanguages()) return SetErrorState("Has dependent languages");
return true;
}
public abstract bool DeleteLanguage (SaLanguage language, DbUpdateInfo dbUpdateInfo);
public abstract bool DeleteLanguage(SaLanguage language, DbUpdateInfo dbUpdateInfo);
//-------------------------------------------------------------------
// Language list.
public abstract ColumnDfn GetLanguageColumnDfn (SaLanguage.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetLanguageQueryFilter (SaLanguage.Params prm);
public abstract long GetLanguageCount (SaLanguage.Params prm);
public abstract List<SaLanguage> GetLanguageList (SaLanguage.Params prm);
public abstract DbResultSet ExecuteLanguageQuery (List<ColumnDfn> columns, SaLanguage.Params prm);
public abstract ColumnDfn GetLanguageColumnDfn(SaLanguage.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetLanguageQueryFilter(SaLanguage.Params prm);
public abstract long GetLanguageCount(SaLanguage.Params prm);
public abstract List<SaLanguage> GetLanguageList(SaLanguage.Params prm);
public abstract DbResultSet ExecuteLanguageQuery(List<ColumnDfn> columns, SaLanguage.Params prm);
//-------------------------------------------------------------------
/// <summary>
/// Extract and format result set data value where specific handling is required.
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
/// </summary>
public virtual DataValue GetLanguageDataValue (ColumnDfn column, NamedValue.Map values)
public virtual DataValue GetLanguageDataValue(ColumnDfn column, NamedValue.Map values)
{
DataValue value = new DataValue();
switch ((SaLanguage.Column)column.Id)
@@ -104,7 +104,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
default:
break;
//-----------------------------------------------------------
//-----------------------------------------------------------
}
return value;
}
@@ -7,15 +7,15 @@ using Sarand.Net.Standard.Base.Dbas;
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=======================================================================
// Reference Data manager - Regions.
//=======================================================================
public abstract partial class SaReferenceDataMgr : SacsItemMgr
{
//*******************************************************************
// R e g i o n s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
/// <summary>Return the valid parent type for the specified Region type.</summary>
public static SaRegionType ParentTypeFor (SaRegionType regionType)
public static SaRegionType ParentTypeFor(SaRegionType regionType)
{
if (regionType == SaRegionType.Country) return SaRegionType.Continent;
if (regionType == SaRegionType.Province) return SaRegionType.Country;
@@ -23,7 +23,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
return SaRegionType.Unknown;
}
/// <summary>Return the valid subordinate Region type for the specified Region type.</summary>
public static SaRegionType SubordinateTypeFor (SaRegionType regionType)
public static SaRegionType SubordinateTypeFor(SaRegionType regionType)
{
if (regionType == SaRegionType.Continent) return SaRegionType.Country;
if (regionType == SaRegionType.Country) return SaRegionType.Province;
@@ -33,24 +33,24 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Retrieve individual regions.
public abstract bool RegionExistsById (SysId id);
public abstract bool RegionExistsByType (String type);
public abstract SaRegion GetRegionById (SysId id);
public abstract SaRegion GetRegionByType (String type);
public abstract SaRegion GetRegion (SaRegion.Params prm);
public abstract bool RegionExistsById(SysId id);
public abstract bool RegionExistsByType(String type);
public abstract SaRegion GetRegionById(SysId id);
public abstract SaRegion GetRegionByType(String type);
public abstract SaRegion GetRegion(SaRegion.Params prm);
// Create region.
public abstract SaRegion CreateRegion (SaRegionType regionType);
public abstract SaRegion CreateRegion(SaRegionType regionType);
//-------------------------------------------------------------------
// Validate region data.
public bool IsValidRegion (SaRegion region)
public bool IsValidRegion(SaRegion region)
{
ClearErrorState();
if (region == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
return IsValidRegionData(region.GetData(), new SaRegion.ErrField());
}
public virtual bool IsValidRegionData (SaRegion.Data data, SaRegion.ErrField errField)
public virtual bool IsValidRegionData(SaRegion.Data data, SaRegion.ErrField errField)
{
ClearErrorState();
// Region properties.
@@ -92,9 +92,9 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Region database interface.
public abstract bool InsertRegion (SaRegion region, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateRegion (SaRegion region, DbUpdateInfo dbUpdateInfo);
public virtual bool RegionCanBeDeleted (SaRegion region)
public abstract bool InsertRegion(SaRegion region, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateRegion(SaRegion region, DbUpdateInfo dbUpdateInfo);
public virtual bool RegionCanBeDeleted(SaRegion region)
{
ClearErrorState();
if (region == null) return SetErrorState(Msg_ItemNotSpecified);
@@ -103,22 +103,22 @@ namespace Sarand.Net.Standard.Base.ReferenceData
if (region.HasDependentTaxCodes()) return SetErrorState("Has dependent tax codes");
return true;
}
public abstract bool DeleteRegion (SaRegion region, DbUpdateInfo dbUpdateInfo);
public abstract bool DeleteRegion(SaRegion region, DbUpdateInfo dbUpdateInfo);
//-------------------------------------------------------------------
// Region list.
public abstract ColumnDfn GetRegionColumnDfn (SaRegion.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetRegionQueryFilter (SaRegion.Params prm);
public abstract long GetRegionCount (SaRegion.Params prm);
public abstract List<SaRegion> GetRegionList (SaRegion.Params prm);
public abstract DbResultSet ExecuteRegionQuery (List<ColumnDfn> columns, SaRegion.Params prm);
public abstract ColumnDfn GetRegionColumnDfn(SaRegion.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetRegionQueryFilter(SaRegion.Params prm);
public abstract long GetRegionCount(SaRegion.Params prm);
public abstract List<SaRegion> GetRegionList(SaRegion.Params prm);
public abstract DbResultSet ExecuteRegionQuery(List<ColumnDfn> columns, SaRegion.Params prm);
//-------------------------------------------------------------------
/// <summary>
/// Extract and format result set data value where specific handling is required.
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
/// </summary>
public virtual DataValue GetRegionDataValue (ColumnDfn column, NamedValue.Map values)
public virtual DataValue GetRegionDataValue(ColumnDfn column, NamedValue.Map values)
{
DataValue value = new DataValue();
switch ((SaRegion.Column)column.Id)
@@ -134,17 +134,17 @@ namespace Sarand.Net.Standard.Base.ReferenceData
// Status.
case SaRegion.Column.Status_Desc:
case SaRegion.Column.Status_Ind:
{
String statusCode = values.GetValue(column.DataName).ToString();
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
if (column.Id == (int)SaRegion.Column.Status_Desc)
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
else if (column.Id == (int)SaRegion.Column.Status_Ind)
value = new DataValue(SaRegion.GetStatusTriState(status));
}
break;
{
String statusCode = values.GetValue(column.DataName).ToString();
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
if (column.Id == (int)SaRegion.Column.Status_Desc)
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
else if (column.Id == (int)SaRegion.Column.Status_Ind)
value = new DataValue(SaRegion.GetStatusTriState(status));
}
break;
//-----------------------------------------------------------
//-----------------------------------------------------------
}
return value;
}
@@ -8,14 +8,14 @@ using Sarand.Net.Standard.Base.Utils;
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=======================================================================
// Reference Data manager - Tax Codes.
//=======================================================================
public abstract partial class SaReferenceDataMgr : SacsItemMgr
{
//*******************************************************************
// T a x C o d e s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
public String GetTaxCode (SaTaxCodeType taxCode)
public String GetTaxCode(SaTaxCodeType taxCode)
{
switch (taxCode)
{
@@ -27,24 +27,24 @@ namespace Sarand.Net.Standard.Base.ReferenceData
}
//-------------------------------------------------------------------
// Retrieve individual taxCodes.
public abstract bool TaxCodeExistsById (SysId id);
public abstract bool TaxCodeExistsByCode (String code);
public abstract SaTaxCode GetTaxCodeById (SysId id);
public abstract SaTaxCode GetTaxCodeByCode (String code);
public abstract SaTaxCode GetTaxCode (SaTaxCode.Params prm);
public abstract bool TaxCodeExistsById(SysId id);
public abstract bool TaxCodeExistsByCode(String code);
public abstract SaTaxCode GetTaxCodeById(SysId id);
public abstract SaTaxCode GetTaxCodeByCode(String code);
public abstract SaTaxCode GetTaxCode(SaTaxCode.Params prm);
// Create taxCode.
public abstract SaTaxCode CreateTaxCode ();
public abstract SaTaxCode CreateTaxCode();
//-------------------------------------------------------------------
// Validate taxCode data.
public bool IsValidTaxCode (SaTaxCode taxCode)
public bool IsValidTaxCode(SaTaxCode taxCode)
{
ClearErrorState();
if (taxCode == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
return IsValidTaxCodeData(taxCode.GetData(), new SaTaxCode.ErrField());
}
public virtual bool IsValidTaxCodeData (SaTaxCode.Data data, SaTaxCode.ErrField errField)
public virtual bool IsValidTaxCodeData(SaTaxCode.Data data, SaTaxCode.ErrField errField)
{
ClearErrorState();
// TaxCode properties.
@@ -119,30 +119,30 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// TaxCode database interface.
public abstract bool InsertTaxCode (SaTaxCode taxCode, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateTaxCode (SaTaxCode taxCode, DbUpdateInfo dbUpdateInfo);
public virtual bool TaxCodeCanBeDeleted (SaTaxCode taxCode)
public abstract bool InsertTaxCode(SaTaxCode taxCode, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateTaxCode(SaTaxCode taxCode, DbUpdateInfo dbUpdateInfo);
public virtual bool TaxCodeCanBeDeleted(SaTaxCode taxCode)
{
ClearErrorState();
if (taxCode.HasDependentTaxCodes()) return SetErrorState("Has dependent tax codes");
return true;
}
public abstract bool DeleteTaxCode (SaTaxCode taxCode, DbUpdateInfo dbUpdateInfo);
public abstract bool DeleteTaxCode(SaTaxCode taxCode, DbUpdateInfo dbUpdateInfo);
//-------------------------------------------------------------------
// TaxCode list.
public abstract ColumnDfn GetTaxCodeColumnDfn (SaTaxCode.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetTaxCodeQueryFilter (SaTaxCode.Params prm);
public abstract long GetTaxCodeCount (SaTaxCode.Params prm);
public abstract List<SaTaxCode> GetTaxCodeList (SaTaxCode.Params prm);
public abstract DbResultSet ExecuteTaxCodeQuery (List<ColumnDfn> columns, SaTaxCode.Params prm);
public abstract ColumnDfn GetTaxCodeColumnDfn(SaTaxCode.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetTaxCodeQueryFilter(SaTaxCode.Params prm);
public abstract long GetTaxCodeCount(SaTaxCode.Params prm);
public abstract List<SaTaxCode> GetTaxCodeList(SaTaxCode.Params prm);
public abstract DbResultSet ExecuteTaxCodeQuery(List<ColumnDfn> columns, SaTaxCode.Params prm);
//-------------------------------------------------------------------
/// <summary>
/// Extract and format result set data value where specific handling is required.
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
/// </summary>
public virtual DataValue GetTaxCodeDataValue (ColumnDfn column, NamedValue.Map values)
public virtual DataValue GetTaxCodeDataValue(ColumnDfn column, NamedValue.Map values)
{
DataValue value = new DataValue();
switch ((SaTaxCode.Column)column.Id)
@@ -158,17 +158,17 @@ namespace Sarand.Net.Standard.Base.ReferenceData
// Status.
case SaTaxCode.Column.Status_Desc:
case SaTaxCode.Column.Status_Ind:
{
String statusCode = values.GetValue(column.DataName).ToString();
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
if (column.Id == (int)SaTaxCode.Column.Status_Desc)
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
else if (column.Id == (int)SaTaxCode.Column.Status_Ind)
value = new DataValue(SaTaxCode.GetStatusTriState(status));
}
break;
{
String statusCode = values.GetValue(column.DataName).ToString();
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
if (column.Id == (int)SaTaxCode.Column.Status_Desc)
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
else if (column.Id == (int)SaTaxCode.Column.Status_Ind)
value = new DataValue(SaTaxCode.GetStatusTriState(status));
}
break;
//-----------------------------------------------------------
//-----------------------------------------------------------
}
return value;
}
@@ -7,34 +7,34 @@ using Sarand.Net.Standard.Base.Dbas;
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=======================================================================
// Reference Data manager - Units of Measure.
//=======================================================================
public abstract partial class SaReferenceDataMgr : SacsItemMgr
{
//*******************************************************************
// U n i t s o f M e a s u r e
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
//-------------------------------------------------------------------
// Retrieve individual unitMeasures.
public abstract bool UnitMeasureExistsById (SysId id);
public abstract bool UnitMeasureExistsByCode (String code);
public abstract SaUnitMeasure GetUnitMeasureById (SysId id);
public abstract SaUnitMeasure GetUnitMeasureByCode (String code);
public abstract SaUnitMeasure GetUnitMeasure (SaUnitMeasure.Params prm);
public abstract bool UnitMeasureExistsById(SysId id);
public abstract bool UnitMeasureExistsByCode(String code);
public abstract SaUnitMeasure GetUnitMeasureById(SysId id);
public abstract SaUnitMeasure GetUnitMeasureByCode(String code);
public abstract SaUnitMeasure GetUnitMeasure(SaUnitMeasure.Params prm);
// Create unitMeasure.
public abstract SaUnitMeasure CreateUnitMeasure ();
public abstract SaUnitMeasure CreateUnitMeasure();
//-------------------------------------------------------------------
// Validate unitMeasure data.
public bool IsValidUnitMeasure (SaUnitMeasure unitMeasure)
public bool IsValidUnitMeasure(SaUnitMeasure unitMeasure)
{
ClearErrorState();
if (unitMeasure == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
return IsValidUnitMeasureData(unitMeasure.GetData(), new SaUnitMeasure.ErrField());
}
public virtual bool IsValidUnitMeasureData (SaUnitMeasure.Data data, SaUnitMeasure.ErrField errField)
public virtual bool IsValidUnitMeasureData(SaUnitMeasure.Data data, SaUnitMeasure.ErrField errField)
{
ClearErrorState();
// UnitMeasure properties.
@@ -128,30 +128,30 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// UnitMeasure database interface.
public abstract bool InsertUnitMeasure (SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateUnitMeasure (SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo);
public virtual bool UnitMeasureCanBeDeleted (SaUnitMeasure unitMeasure)
public abstract bool InsertUnitMeasure(SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo);
public abstract bool UpdateUnitMeasure(SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo);
public virtual bool UnitMeasureCanBeDeleted(SaUnitMeasure unitMeasure)
{
ClearErrorState();
if (unitMeasure.HasDependentUnitsOfMeasure()) return SetErrorState("Has dependent UOMs");
return true;
}
public abstract bool DeleteUnitMeasure (SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo);
public abstract bool DeleteUnitMeasure(SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo);
//-------------------------------------------------------------------
// UnitMeasure list.
public abstract ColumnDfn GetUnitMeasureColumnDfn (SaUnitMeasure.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetUnitMeasureQueryFilter (SaUnitMeasure.Params prm);
public abstract long GetUnitMeasureCount (SaUnitMeasure.Params prm);
public abstract List<SaUnitMeasure> GetUnitMeasureList (SaUnitMeasure.Params prm);
public abstract DbResultSet ExecuteUnitMeasureQuery (List<ColumnDfn> columns, SaUnitMeasure.Params prm);
public abstract ColumnDfn GetUnitMeasureColumnDfn(SaUnitMeasure.Column columnId, String caption = "", int width = 0);
public abstract List<String> GetUnitMeasureQueryFilter(SaUnitMeasure.Params prm);
public abstract long GetUnitMeasureCount(SaUnitMeasure.Params prm);
public abstract List<SaUnitMeasure> GetUnitMeasureList(SaUnitMeasure.Params prm);
public abstract DbResultSet ExecuteUnitMeasureQuery(List<ColumnDfn> columns, SaUnitMeasure.Params prm);
//-------------------------------------------------------------------
/// <summary>
/// Extract and format result set data value where specific handling is required.
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
/// </summary>
public virtual DataValue GetUnitMeasureDataValue (ColumnDfn column, NamedValue.Map values)
public virtual DataValue GetUnitMeasureDataValue(ColumnDfn column, NamedValue.Map values)
{
DataValue value = new DataValue();
switch ((SaUnitMeasure.Column)column.Id)
@@ -167,17 +167,17 @@ namespace Sarand.Net.Standard.Base.ReferenceData
// Status.
case SaUnitMeasure.Column.Status_Desc:
case SaUnitMeasure.Column.Status_Ind:
{
String statusCode = values.GetValue(column.DataName).ToString();
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
if (column.Id == (int)SaUnitMeasure.Column.Status_Desc)
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
else if (column.Id == (int)SaUnitMeasure.Column.Status_Ind)
value = new DataValue(SaUnitMeasure.GetStatusTriState(status));
}
break;
{
String statusCode = values.GetValue(column.DataName).ToString();
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
if (column.Id == (int)SaUnitMeasure.Column.Status_Desc)
value = new DataValue(SacsSystem.GetStatusDescForCode(statusCode));
else if (column.Id == (int)SaUnitMeasure.Column.Status_Ind)
value = new DataValue(SaUnitMeasure.GetStatusTriState(status));
}
break;
//-----------------------------------------------------------
//-----------------------------------------------------------
}
return value;
}
@@ -59,7 +59,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
// Data members.
private readonly DataProperties data = new DataProperties();
// Construction.
public Data ()
public Data()
{
Status = DefaultStatus;
}
@@ -114,7 +114,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
get { return data.TaxCodeIdLink; }
set { CheckChanged(data.TaxCodeIdLink, value); data.TaxCodeIdLink = value; }
}
internal void PopulateFrom (Data data)
internal void PopulateFrom(Data data)
{
Code = data.Code;
CodeAlt1 = data.CodeAlt1;
@@ -128,7 +128,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
TaxCodeIdLink = data.TaxCodeIdLink;
base.PopulateFrom(data);
}
public Data Clone ()
public Data Clone()
{
Data data = new Data();
data.PopulateFrom(this);
@@ -158,7 +158,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Construction.
protected SaTaxCode (SysId id) : base(id)
protected SaTaxCode(SysId id) : base(id)
{
base.SetData(data);
}
@@ -171,7 +171,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
};
public static SaStatus DefaultStatus { get { return SaStatus.Current; } }
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(validStatuses); } }
public static DataValue.TriStateType GetStatusTriState (SaStatus status)
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
{
switch (status)
{
@@ -184,8 +184,22 @@ namespace Sarand.Net.Standard.Base.ReferenceData
}
//-------------------------------------------------------------------
// Utilities. - this is for the EffectiveOn Date 'From' & 'To'
public bool IsEffectiveOn (DateTime effectiveDate)
// Utilities.
public String GetCaption()
{
DateTime today = DateTime.Today;
String caption = $"{Code} (" + (!StringUtil.IsBlank(CodeAlt1) ? $"{CodeAlt1}: " : "") + $"{TaxRate.ToString("N2")})";
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")) : "");
String effectiveTo = (DateUtil.IsValid(EffectTo) ? (EffectTo.Year == today.Year ? EffectTo.ToString("d-MMM") : EffectTo.ToString("d-MMM-yy")) : "");
caption += $" [{effectiveFrom}->{effectiveTo}]";
}
return caption;
}
public bool IsEffectiveOn(DateTime effectiveDate)
{
if (DateUtil.IsValid(EffectFrom) && EffectFrom.CompareTo(effectiveDate) > 0) return false;
if (DateUtil.IsValid(EffectTo) && EffectTo.CompareTo(effectiveDate) < 0) return false;
@@ -194,8 +208,8 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Data.
public Data GetData () { return data.Clone(); }
public void SetData (Data data)
public Data GetData() { return data.Clone(); }
public void SetData(Data data)
{
// Properties that cannot be changed if previously specified.
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
@@ -262,7 +276,7 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// A s s o c i a t e d D a t a E l e m e n t s
//-------------------------------------------------------------------
public abstract bool HasDependentTaxCodes ();
public abstract bool HasDependentTaxCodes();
//-------------------------------------------------------------------
// P a r a m s
@@ -301,23 +315,23 @@ namespace Sarand.Net.Standard.Base.ReferenceData
public static class SaTaxCodeList
{
/// <summary>Check whether taxcode exists/locate in list with specified Id.</summary>
public static bool ExistsById (this List<SaTaxCode> values, SysId taxId)
public static bool ExistsById(this List<SaTaxCode> values, SysId taxId)
{
if (!SysId.IsValid(taxId)) return false;
return values.Exists(item => item.Id.Equals(taxId));
}
/// <summary>Retrieve tax code with specified Id.</summary>
public static SaTaxCode FindById (this List<SaTaxCode> values, SysId taxId)
public static SaTaxCode FindById(this List<SaTaxCode> values, SysId taxId)
{
if (!SysId.IsValid(taxId)) return null;
return values.Find(item => item.Id.Equals(taxId));
}
public static SaTaxCode FindByCode (this List<SaTaxCode> values, String taxCode)
public static SaTaxCode FindByCode(this List<SaTaxCode> values, String taxCode)
{
if (StringUtil.IsEmpty(taxCode)) return null;
return values.Find(item => item.Code.Equals(taxCode));
}
public static SaTaxCode FindByCodeEffectiveOn (this List<SaTaxCode> values, String taxCode, DateTime effectiveOn)
public static SaTaxCode FindByCodeEffectiveOn(this List<SaTaxCode> values, String taxCode, DateTime effectiveOn)
{
if (StringUtil.IsEmpty(taxCode)) return null;
if (!DateUtil.IsValid(effectiveOn)) return null;
@@ -209,6 +209,12 @@ namespace Sarand.Net.Standard.Base.ReferenceData
//-------------------------------------------------------------------
// Utilities.
/// <summary>UOM caption - Multiple label is specified, otherwise Single label.</summary>
public String GetCaption()
{
return StringUtil.OnBlank(Multiple, Single, Abbr, Code);
}
//-------------------------------------------------------------------
// Data.
public Data GetData () { return data.Clone(); }