Files
Common-VS2019/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_UnitMeasure.cs
T
2025-02-08 16:41:25 +00:00

75 lines
3.8 KiB
C#

using System.Collections.Generic;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.ReferenceData;
namespace Sarand.Net.Standard.Dbas.ReferenceData.UpdateLog
{
//=======================================================================
public class SaUpdateLogItemMonitor_UnitMeasure : SaUpdateLogItemMonitor_ReferenceData
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SaUpdateLogItemMonitor_ReferenceData.Config
{
public Config (SaReferenceDataConsole referenceDataConsole, SysId itemId, DbUpdateInfo dbUpdateInfo) :
base(referenceDataConsole.UpdateLogConsole, dbUpdateInfo)
{
ItemType = referenceDataConsole.UnitMeasureItemType;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private List<TypeCodeDesc> uomCategories;
private List<TypeCodeDesc> uomUnitTypes;
//-------------------------------------------------------------------
// Construction.
public SaUpdateLogItemMonitor_UnitMeasure (SaReferenceDataConsole referenceDataConsole, SaUnitMeasure unitMeasure, DbUpdateInfo dbUpdateInfo) :
base(new Config(referenceDataConsole, unitMeasure.Id, dbUpdateInfo))
{
uomCategories = SaReferenceDataConsole.GetReferenceDataCodes(ReferenceDataSystemCode.UnitMeasureCategory);
uomUnitTypes = SaReferenceDataConsole.GetReferenceDataCodes(ReferenceDataSystemCode.UnitMeasureType);
RecordAttrValues(unitMeasure, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues (SaUnitMeasure unitMeasure)
{
return RecordAttrValues(unitMeasure, true);
}
private bool RecordAttrValues (SaUnitMeasure unitMeasure, bool newValues)
{
ClearErrorState();
// UnitMeasure Properties - record values that may require logging.
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Category, uomCategories.GetCodeForType(unitMeasure.Category, unitMeasure.Category.ToString()), newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_UnitType, uomUnitTypes.GetCodeForType(unitMeasure.UnitType, unitMeasure.UnitType.ToString()), newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Code, unitMeasure.Code, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Abbr, unitMeasure.Abbr, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Single, unitMeasure.Single, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Multiple, unitMeasure.Multiple, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_EquValue, unitMeasure.EquivalencyValue, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_UomIdEqu, unitMeasure.UomIdEquivalency, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_EquAlgorythm, unitMeasure.EquivalencyAlgorythm, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_UomIdRef1, unitMeasure.UomIdRef1, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_UomIdRef2, unitMeasure.UomIdRef2, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_UomIdRef3, unitMeasure.UomIdRef3, newValues);
// Common properties.
/*
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Notes, unitMeasure.Notes, newValues);
RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx.UnitMeasure_Status, SacsSystem.GetStatusCode(unitMeasure.Status), newValues);
*/
return OK;
}
//-------------------------------------------------------------------
}
//=======================================================================
}