Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_ItemLink.cs
T

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 = internals.GetApplicationCodes(Sbm.ApplicationCode.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.ItemLink_Type, itemTypes.GetDescForType(itemLink.ItemLinkType, ((int)itemLink.ItemLinkType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeFrom, itemTypes.GetDescForType(itemLink.ItemTypeFrom, ((int)itemLink.ItemTypeFrom).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_ItemIdFrom, SysId.ToInt(itemLink.ItemIdFrom), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeTo, 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 OK;
}
//-------------------------------------------------------------------
}
//=======================================================================
}