Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_SysParam.cs
T
2021-05-05 21:00:33 +01:00

69 lines
2.7 KiB
C#

using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
using Sarand.BusinessMgr.Net.Standard.Base.UpdateLog;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using System.Collections.Generic;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog
{
//=======================================================================
public class SbmUpdateLogItemMonitor_SysParam : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmUserContext userContext, SysId itemId) :
base(userContext)
{
//ItemType = (short)Sbm.ItemType.SysParam;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> sysParamCategories;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_SysParam(SbmUserContext userContext, SbmSysParam sysParam) :
base(new Config(userContext, sysParam.Id))
{
sysParamCategories = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.SysParamCategory);
RecordAttrValues(sysParam, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmSysParam sysParam)
{
return RecordAttrValues(sysParam, true);
}
private bool RecordAttrValues(SbmSysParam sysParam, bool newValues)
{
ClearErrorState();
// SysParam Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_Cat, sysParamCategories.GetDescForType(sysParam.Category, ((int)sysParam.Category).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_Name, sysParam.Name, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_Value, sysParam.Value, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_AffIdOwner, SysId.ToInt(sysParam.AffiliateIdOwner), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_AffIdTarget, SysId.ToInt(sysParam.AffiliateIdTarget), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_AssocId, SysId.ToInt(sysParam.AssociationId), newValues);
// Common properties.
/*
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_Notes, sysParam.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SysParam_Status, SacsSystem.GetStatusCode(sysParam.Status), newValues);
*/
return !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}