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

82 lines
4.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_VehicleClass : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.VehicleClass;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> vehicleTypes, fuelTypes, odometerUnits;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_VehicleClass(SbmInternals internals, SbmVehicleClass vehicleClass) :
base(new Config(internals, vehicleClass.Id))
{
vehicleTypes = SbmSystem.GetSystemCodes(Sbm.SystemCode.VehicleType);
fuelTypes = SbmSystem.GetSystemCodes(Sbm.SystemCode.FuelType);
odometerUnits = SbmSystem.GetSystemCodes(Sbm.SystemCode.OdometerUnits);
RecordAttrValues(vehicleClass, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmVehicleClass vehicleClass)
{
return RecordAttrValues(vehicleClass, true);
}
private bool RecordAttrValues(SbmVehicleClass vehicleClass, bool newValues)
{
ClearErrorState();
// VehicleClass Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, vehicleClass.MakeCode, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_Model, vehicleClass.Model, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative, vehicleClass.Derivative, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, vehicleClass.DescBrief, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleType, vehicleTypes.GetDescForType(vehicleClass.VehicleType, ((int)vehicleClass.VehicleType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleCategoryCode, vehicleClass.VehicleCategoryCode, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_FuelType, fuelTypes.GetDescForType(vehicleClass.FuelType, ((int)vehicleClass.FuelType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_OdometerUnits, odometerUnits.GetDescForType(vehicleClass.OdometerUnits, ((int)vehicleClass.OdometerUnits).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_Seats, vehicleClass.Seats, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_Weight, vehicleClass.Weight, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_InsuranceCode, vehicleClass.InsuranceCode, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_FirstServiceOdo, vehicleClass.FirstServiceOdo, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_ServiceOdo, vehicleClass.ServiceOdo, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_ServiceWeeks, vehicleClass.ServiceWeeks, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_AmountRentalCost, vehicleClass.AmountRentalCost, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_UomIdRentalCost, SysId.ToInt(vehicleClass.UomIdRentalCost), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_AmountRentalPrice, vehicleClass.AmountRentalPrice, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_UomIdRentalPrice, SysId.ToInt(vehicleClass.UomIdRentalPrice), newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_Notes, vehicleClass.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaVehicleClass_Status, SacsSystem.GetStatusCode(vehicleClass.Status), newValues);
return !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}