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

74 lines
3.4 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_VehicleEvent : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.VehicleEvent;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> vehicleEventTypes;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_VehicleEvent(SbmInternals internals, SbmVehicleEvent vehicleEvent) :
base(new Config(internals, vehicleEvent.Id))
{
vehicleEventTypes = internals.GetApplicationCodes(Sbm.ApplicationCode.VehicleEventType);
RecordAttrValues(vehicleEvent, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmVehicleEvent vehicleEvent)
{
return RecordAttrValues(vehicleEvent, true);
}
private bool RecordAttrValues(SbmVehicleEvent vehicleEvent, bool newValues)
{
ClearErrorState();
// VehicleEvent Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId, SysId.ToInt(vehicleEvent.VehicleId), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_EventType, vehicleEventTypes.GetDescForType(vehicleEvent.VehicleEventType, ((int)vehicleEvent.VehicleEventType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_StartOn, vehicleEvent.StartOn, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_FinishOn, vehicleEvent.FinishOn, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_Odometer, vehicleEvent.Odometer, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_DescBrief, vehicleEvent.DescBrief, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_DescDetail, vehicleEvent.DescDetail, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_AmountNet, vehicleEvent.AmountNet, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_TaxCodeId, SysId.ToInt(vehicleEvent.TaxCodeId), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_TaxRate, vehicleEvent.TaxRate, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_AmountTax, vehicleEvent.AmountTax, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_AmountTot, vehicleEvent.AmountTot, newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_Notes, vehicleEvent.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleEvent_Status, SacsSystem.GetStatusCode(vehicleEvent.Status), newValues);
return OK;
}
//-------------------------------------------------------------------
}
//=======================================================================
}