64 lines
2.5 KiB
C#
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;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|