Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_ItemBatch.cs
T
2021-07-08 20:50:46 +01:00

67 lines
2.6 KiB
C#

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<TypeCodeDesc> 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();
}
//-------------------------------------------------------------------
}
//=======================================================================
}