Files
Common-VS2019/SacsStandardDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityLink.cs
T
2025-02-08 16:41:25 +00:00

64 lines
2.5 KiB
C#

using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Security;
using Sarand.Net.Standard.Base.UpdateLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.Net.Standard.Dbas.Security
{
//=======================================================================
public class SaUpdateLogItemMonitor_SecurityLink : SaUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SaUpdateLogItemMonitor.Config
{
public Config (SaUpdateLogConsole updateLogConsole, SysId itemId, DbUpdateInfo dbUpdateInfo) :
base(updateLogConsole, dbUpdateInfo)
{
ItemType = (short)SaDataItemType.SecurityItem;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
// Construction.
public SaUpdateLogItemMonitor_SecurityLink (SaSecurityConsole securityConsole, SaSecurityLink securityLink, DbUpdateInfo dbUpdateInfo) :
base(new Config(securityConsole.UpdateLogConsole, securityLink.Id, dbUpdateInfo))
{
RecordAttrValues(securityLink, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues (SaSecurityLink securityLink)
{
return RecordAttrValues(securityLink, true);
}
private bool RecordAttrValues (SaSecurityLink securityLink, bool newValues)
{
ClearErrorState();
// Security Item Properties - record values that may require logging.
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemOwner, false), SysId.ToInt(securityLink.ItemIdOwner), newValues);
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemTarget, false), SysId.ToInt(securityLink.ItemIdTarget), newValues);
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemContext, false), SysId.ToInt(securityLink.ItemIdContext), newValues);
// Common properties.
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecLink_Status, false), securityLink.StatusCode, newValues);
return OK;
}
//-------------------------------------------------------------------
}
//=======================================================================
}