68 lines
2.9 KiB
C#
68 lines
2.9 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_SecurityItem : 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.
|
|
private readonly List<TypeCodeDesc> securityItemTypes;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SaUpdateLogItemMonitor_SecurityItem (SaSecurityConsole securityConsole, SaSecurityItem securityItem, DbUpdateInfo dbUpdateInfo) :
|
|
base(new Config(securityConsole.UpdateLogConsole, securityItem.Id, dbUpdateInfo))
|
|
{
|
|
securityItemTypes = SaSecurityConsole.SecurityItemTypes;
|
|
RecordAttrValues(securityItem, false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Record attribute values.
|
|
public bool RecordUpdatedValues (SaSecurityItem securityItem)
|
|
{
|
|
return RecordAttrValues(securityItem, true);
|
|
}
|
|
private bool RecordAttrValues (SaSecurityItem securityItem, bool newValues)
|
|
{
|
|
ClearErrorState();
|
|
|
|
// Security Item Properties - record values that may require logging.
|
|
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecItem_Type, false), securityItemTypes.GetCodeForType(securityItem.ItemType, securityItem.ItemType.ToString()), newValues);
|
|
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecItem_Code, false), securityItem.Code, newValues);
|
|
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecItem_EmailAddress, false), securityItem.EmailAddress, newValues);
|
|
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecItem_Description, false), securityItem.Description, newValues);
|
|
// Common properties.
|
|
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecItem_Notes, false), securityItem.Notes, newValues);
|
|
RecordAttrValue(SaSecurityDbDfn.GetColumnName(SaSecurityDbDfn.ColumnIdx.SaSecItem_Status, false), securityItem.StatusCode, newValues);
|
|
|
|
return OK;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|