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; using Sarand.Net.Standard.Base.Core; using System.Collections.Generic; namespace Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog { //======================================================================= public class SbmUpdateLogItemMonitor_Commodity : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.Commodity; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List commodityTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_Commodity(SbmInternals internals, SbmCommodity commodity) : base(new Config(internals, commodity.Id)) { commodityTypes = internals.GetApplicationCodes(Sbm.ApplicationCode.CommodityType); RecordAttrValues(commodity, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmCommodity commodity) { return RecordAttrValues(commodity, true); } private bool RecordAttrValues(SbmCommodity commodity, bool newValues) { ClearErrorState(); // Commodity Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_Type, commodityTypes.GetDescForType(commodity.CommodityType, ((int)commodity.CommodityType).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_Code, commodity.Code, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_DescBrief, commodity.DescBrief, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_DrawingNo, commodity.DrawingNumber, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_DrawingIssue, commodity.DrawingIssue, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_AssIdSupplier, SysId.ToInt(commodity.AssociationIdSupplier), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_CostPrice, commodity.CostPrice, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_AssIdCustomer, SysId.ToInt(commodity.AssociationIdCustomer), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_SalesPrice, commodity.SalesPrice, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_Notes, commodity.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Commodity_Status, SacsSystem.GetStatusCode(commodity.Status), newValues); return OK; } //------------------------------------------------------------------- } //======================================================================= }