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_ItemBatch : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.ItemBatch; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List itemTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_ItemBatch(SbmInternals internals, SbmItemBatch itemBatch) : base(new Config(internals, itemBatch.Id)) { itemTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ItemType); RecordAttrValues(itemBatch, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmItemBatch itemBatch) { return RecordAttrValues(itemBatch, true); } private bool RecordAttrValues(SbmItemBatch itemBatch, bool newValues) { ClearErrorState(); // ItemBatch Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_AffIdOwner, SysId.ToInt(itemBatch.AffiliateIdOwner), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_Type, itemTypes.GetDescForType(itemBatch.ItemBatchType, ((int)itemBatch.ItemBatchType).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_Ref, itemBatch.Ref, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_DescBrief, itemBatch.DescBrief, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_ProcessType, itemBatch.ProcessType, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_Notes, itemBatch.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.ItemBatch_Status, SacsSystem.GetStatusCode(itemBatch.Status), newValues); return !HasErrorState(); } //------------------------------------------------------------------- } //======================================================================= }