75 lines
3.8 KiB
C#
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 !HasErrorState();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|