Files
Common-VS2019/SacsStandardDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityItem.cs
T
2021-05-05 15:36:28 +01:00

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 !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}