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 OK; } //------------------------------------------------------------------- } //======================================================================= }