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 vehicleTypes, fuelTypes, odometerUnits; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_VehicleClass(SbmInternals internals, SbmVehicleClass vehicleClass) : base(new Config(internals, vehicleClass.Id)) { vehicleTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.VehicleType); fuelTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.FuelType); odometerUnits = SbmSystem.GetCodesOfType(UserContext, 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(); } //------------------------------------------------------------------- } //======================================================================= }