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_AssetProcess : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.AssetProcess; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List itemTypes, assetProcessTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_AssetProcess(SbmInternals internals, SbmAssetProcess assetProcess) : base(new Config(internals, assetProcess.Id)) { RecordAttrValues(assetProcess, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmAssetProcess assetProcess) { return RecordAttrValues(assetProcess, true); } private bool RecordAttrValues(SbmAssetProcess assetProcess, bool newValues) { ClearErrorState(); // AssetProcess Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId, SysId.ToInt(assetProcess.AssetId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_Seq, assetProcess.Seq, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessId, SysId.ToInt(assetProcess.ProcessId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_RequiredOn, assetProcess.RequiredOn, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_ExpectedOn, assetProcess.ExpectedOn, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessedOn, assetProcess.ProcessedOn, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_Notes, assetProcess.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetProcess_Status, SacsSystem.GetStatusCode(assetProcess.Status), newValues); return !HasErrorState(); } //------------------------------------------------------------------- } //======================================================================= }