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 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; } //------------------------------------------------------------------- } //======================================================================= }