80 lines
3.2 KiB
C#
80 lines
3.2 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_ContainerItem : SbmUpdateLogItemMonitor
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Configuration.
|
|
public new class Config : SbmUpdateLogItemMonitor.Config
|
|
{
|
|
public Config(SbmInternals internals, SysId itemId) :
|
|
base(internals)
|
|
{
|
|
ItemType = (short)Sbm.ItemType.ContainerItem;
|
|
ItemId = itemId;
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private readonly List<TypeCodeDesc> itemTypes, itemTypeSource;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SbmUpdateLogItemMonitor_ContainerItem(SbmInternals internals, SbmContainerItem containerItem) :
|
|
base(new Config(internals, containerItem.Id))
|
|
{
|
|
itemTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ItemType);
|
|
itemTypeSource = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ItemType);
|
|
RecordAttrValues(containerItem, false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Record attribute values.
|
|
public bool RecordUpdatedValues(SbmContainerItem containerItem)
|
|
{
|
|
return RecordAttrValues(containerItem, true);
|
|
}
|
|
private bool RecordAttrValues(SbmContainerItem containerItem, bool newValues)
|
|
{
|
|
ClearErrorState();
|
|
|
|
// ContainerItem Properties - record values that may require logging.
|
|
//RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_ContainerItemId, containerItem.ContainerItemId, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_ContainerId, SysId.ToInt(containerItem.ContainerId), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemType, itemTypes.GetDescForType(containerItem.ItemType, ((int)containerItem.ItemType).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_ItemId, SysId.ToInt(containerItem.ItemId), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_ItemSeq, containerItem.ItemSeq, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Type, itemTypeSource.GetDescForType(containerItem.ItemTypeSource, ((int)containerItem.ItemTypeSource).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_ItemIdSource, SysId.ToInt(containerItem.ItemIdSource), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_Quantity, containerItem.Quantity, newValues);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Common properties.
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_Notes, containerItem.Notes, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ContainerItem_Status, SacsSystem.GetStatusCode(containerItem.Status), newValues);
|
|
|
|
return !HasErrorState();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|