Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_Price.cs
T
2021-07-08 20:50:46 +01:00

66 lines
2.7 KiB
C#

using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
using Sarand.BusinessMgr.Net.Standard.Base.UpdateLog;
using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog
{
//=======================================================================
public class SbmUpdateLogItemMonitor_Price : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.Price;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_Price(SbmInternals internals, SbmPrice price) :
base(new Config(internals, price.Id))
{
RecordAttrValues(price, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmPrice price)
{
return RecordAttrValues(price, true);
}
private bool RecordAttrValues(SbmPrice price, bool newValues)
{
ClearErrorState();
// Price Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_PriceSetId, SysId.ToInt(price.PriceSetId), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_CommodityId, SysId.ToInt(price.CommodityId), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_Type, price.PriceType.ToString(), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_CalcMethod, price.CalculationMethod.ToString(), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_CalcValue, price.CalculationValue, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_RounderMethod, price.RounderMethod.ToString(), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_RounderDirection, price.RounderDirection.ToString(), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_RounderMultipleOf, price.RounderMultipleOf, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_RounderAdjustment, price.RounderAdjustment, newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_Notes, price.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaPrice_Status, SacsSystem.GetStatusCode(price.Status), newValues);
return !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}