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_Container : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.Container; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List containerCategories, containerTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_Container(SbmInternals internals, SbmContainer container) : base(new Config(internals, container.Id)) { containerCategories = internals.GetSystemCodes(Sbm.SystemCode.ContainerCategory); containerTypes = internals.GetSystemCodes(Sbm.SystemCode.ContainerType); RecordAttrValues(container, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmContainer container) { return RecordAttrValues(container, true); } private bool RecordAttrValues(SbmContainer container, bool newValues) { ClearErrorState(); // Container Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.Container_AffIdOwner, SysId.ToInt(container.AffiliateIdOwner), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_Category, containerCategories.GetDescForType(container.ContainerCategory, ((int)container.ContainerCategory).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_Type, containerTypes.GetDescForType(container.ContainerType, ((int)container.ContainerType).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_Reference, container.Reference, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_DescBrief, container.DescBrief, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_TagId, container.TagId, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_AssIdSupplier, SysId.ToInt(container.AssIdSupplier), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_AssIdCustomer, SysId.ToInt(container.AssIdCustomer), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_Expected, container.Expected, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.Container_Notes, container.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Container_Status, SacsSystem.GetStatusCode(container.Status), newValues); return OK; } //------------------------------------------------------------------- } //======================================================================= }