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 vehicleEventTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_VehicleEvent(SbmInternals internals, SbmVehicleEvent vehicleEvent) : base(new Config(internals, vehicleEvent.Id)) { vehicleEventTypes = internals.GetSystemCodes(Sbm.SystemCode.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; } //------------------------------------------------------------------- } //======================================================================= }