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 vehicleFeatureSources, vehicleFeatureTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_VehicleFeature(SbmInternals internals, SbmVehicleFeature vehicleFeature) : base(new Config(internals, vehicleFeature.Id)) { vehicleFeatureSources = internals.GetApplicationCodes(Sbm.ApplicationCode.VehicleFeatureSource); vehicleFeatureTypes = internals.GetApplicationCodes(Sbm.ApplicationCode.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 OK; } //------------------------------------------------------------------- } //======================================================================= }