71 lines
3.0 KiB
C#
71 lines
3.0 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_ItemLink : SbmUpdateLogItemMonitor
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Configuration.
|
|
public new class Config : SbmUpdateLogItemMonitor.Config
|
|
{
|
|
public Config(SbmInternals internals, SysId itemId) :
|
|
base(internals)
|
|
{
|
|
//ItemType = (short)Sbm.ItemType.ItemLink;
|
|
ItemId = itemId;
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private readonly List<TypeCodeDesc> itemTypes;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SbmUpdateLogItemMonitor_ItemLink(SbmInternals internals, SbmItemLink itemLink) :
|
|
base(new Config(internals, itemLink.Id))
|
|
{
|
|
itemTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ItemType);
|
|
RecordAttrValues(itemLink, false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Record attribute values.
|
|
public bool RecordUpdatedValues(SbmItemLink itemLink)
|
|
{
|
|
return RecordAttrValues(itemLink, true);
|
|
}
|
|
private bool RecordAttrValues(SbmItemLink itemLink, bool newValues)
|
|
{
|
|
ClearErrorState();
|
|
|
|
// ItemLink Properties - record values that may require logging.
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemType, itemTypes.GetDescForType(itemLink.ItemLinkType, ((int)itemLink.ItemLinkType).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemType, itemTypes.GetDescForType(itemLink.ItemTypeFrom, ((int)itemLink.ItemTypeFrom).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_ItemIdFrom, SysId.ToInt(itemLink.ItemIdFrom), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemType, itemTypes.GetDescForType(itemLink.ItemTypeTo, ((int)itemLink.ItemTypeTo).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_ItemIdTo, SysId.ToInt(itemLink.ItemIdTo), newValues);
|
|
//RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_SortValue, itemLink.SortValue, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_Seq, itemLink.Seq, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_Completed, itemLink.Completed, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_DataContent, itemLink.DataContent, newValues);
|
|
|
|
// Common properties.
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_Notes, itemLink.Notes, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_Status, SacsSystem.GetStatusCode(itemLink.Status), newValues);
|
|
|
|
return !HasErrorState();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|