73 lines
3.2 KiB
C#
73 lines
3.2 KiB
C#
using System;
|
|
using Sarand.Net.Standard.Base.Core;
|
|
using Sarand.Net.Standard.Base.Dbas;
|
|
using Sarand.Net.Standard.Base.ReferenceData;
|
|
using Sarand.Net.Standard.Base.UpdateLog;
|
|
using Sarand.Net.Standard.Base.Utils;
|
|
|
|
namespace Sarand.Net.Standard.Dbas.ReferenceData.UpdateLog
|
|
{
|
|
//=======================================================================
|
|
public class SaUpdateLogItemMonitor_ReferenceData : SaUpdateLogItemMonitor
|
|
{
|
|
// ------------------------ Configuration. --------------------------
|
|
public new class Config : SaUpdateLogItemMonitor.Config
|
|
{
|
|
public Config(SaUpdateLogConsole updateLogConsole, DbUpdateInfo dbUpdateInfo) :
|
|
base(updateLogConsole, dbUpdateInfo)
|
|
{
|
|
}
|
|
}
|
|
//-------------------------------------------------------------------
|
|
|
|
// ------------------------- Data members. --------------------------
|
|
private Config config = null;
|
|
//-------------------------------------------------------------------
|
|
|
|
// -------------------------- Construction. -------------------------
|
|
protected SaUpdateLogItemMonitor_ReferenceData (Config config) : base(config)
|
|
{
|
|
this.config = config;
|
|
}
|
|
//-------------------------------------------------------------------
|
|
|
|
// ------------------------- Internal utilities. --------------------
|
|
// ToDo SaUpdateLogItemMonitor Require SaReferenceDataDbDfn
|
|
protected virtual bool IsColumnChangeLogged(SaReferenceDataDbDfn.ColumnIdx columnIdx)
|
|
{
|
|
if (!config.UpdateLogConsole.CanUpdateDatabase) return false;
|
|
return true;
|
|
}
|
|
protected bool RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx columnIdx, String value, bool newValue)
|
|
{
|
|
return RecordAttrValue(columnIdx, new DataValue(value), newValue);
|
|
}
|
|
protected bool RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx columnIdx, int value, bool newValue, bool blankZeroValue = true)
|
|
{
|
|
return RecordAttrValue(columnIdx, new DataValue(value == 0 && blankZeroValue ? "" : value.ToString()), newValue);
|
|
}
|
|
protected bool RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx columnIdx, decimal value, bool newValue, bool blankZeroValue = true, ushort decimals = 2)
|
|
{
|
|
return RecordAttrValue(columnIdx, new DataValue(value == 0.0m && blankZeroValue ? "" : value.ToString("N" + decimals.ToString())), newValue);
|
|
}
|
|
protected bool RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx columnIdx, DateTime value, bool newValue, bool includeTime = true)
|
|
{
|
|
return RecordAttrValue(columnIdx, new DataValue(DateUtil.Format(value, (includeTime ? "d-MMM-yyyy HH:mm" : "d-MMM-yyyy"))), newValue);
|
|
}
|
|
protected bool RecordAttrValue(SaReferenceDataDbDfn.ColumnIdx columnIdx, DataValue value, bool newValue)
|
|
{
|
|
ClearErrorState();
|
|
if (!IsColumnChangeLogged(columnIdx)) return true;
|
|
String attrName = SaReferenceDataDbDfn.GetColumnName(columnIdx);
|
|
if (attrName.IsEmpty()) return SetErrorState("Blank attribute name [" + columnIdx.ToString() + "]");
|
|
return RecordAttrValue(attrName, value, newValue);
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------- Columns. ----------------------------
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|