72 lines
3.2 KiB
C#
72 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_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<TypeCodeDesc> containerCategories, containerTypes;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SbmUpdateLogItemMonitor_Container(SbmInternals internals, SbmContainer container) :
|
|
base(new Config(internals, container.Id))
|
|
{
|
|
containerCategories = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ContainerCategory);
|
|
containerTypes = SbmSystem.GetCodesOfType(UserContext, 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.Address_ItemType, containerCategories.GetDescForType(container.ContainerCategory, ((int)container.ContainerCategory).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_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 !HasErrorState();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|