Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_VehicleFeature.cs
T

68 lines
3.0 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.App;
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_VehicleFeature : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.VehicleFeature;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> vehicleFeatureSources, vehicleFeatureTypes;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_VehicleFeature(SbmInternals internals, SbmVehicleFeature vehicleFeature) :
base(new Config(internals, vehicleFeature.Id))
{
vehicleFeatureSources = SbmSystem.GetSystemCodes(Sbm.SystemCode.VehicleFeatureSource);
vehicleFeatureTypes = SbmSystem.GetSystemCodes(Sbm.SystemCode.VehicleFeatureType);
RecordAttrValues(vehicleFeature, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmVehicleFeature vehicleFeature)
{
return RecordAttrValues(vehicleFeature, true);
}
private bool RecordAttrValues(SbmVehicleFeature vehicleFeature, bool newValues)
{
ClearErrorState();
// VehicleFeature Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, SysId.ToInt(vehicleFeature.VehicleId), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_Source, vehicleFeatureSources.GetDescForType(vehicleFeature.VehicleFeatureSource, ((int)vehicleFeature.VehicleFeatureSource).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_Type, vehicleFeatureTypes.GetDescForType(vehicleFeature.VehicleFeatureType, ((int)vehicleFeature.VehicleFeatureType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_CategoryCode, vehicleFeature.CategoryCode, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_FeatureCode, vehicleFeature.FeatureCode, newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_Notes, vehicleFeature.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleFeature_Status, SacsSystem.GetStatusCode(vehicleFeature.Status), newValues);
return !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}