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_Location : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.Location; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List locationCategories; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_Location(SbmInternals internals, SbmLocation location) : base(new Config(internals, location.Id)) { locationCategories = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.LocationCategory); RecordAttrValues(location, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmLocation location) { return RecordAttrValues(location, true); } private bool RecordAttrValues(SbmLocation location, bool newValues) { ClearErrorState(); // Location Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.Location_AffIdOwner, SysId.ToInt(location.AffiliateIdOwner), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Location_Category, locationCategories.GetDescForType(location.LocationCategory, ((int)location.LocationCategory).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Location_Code, location.Code, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Location_Name, location.Name, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.Location_Notes, location.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Location_Status, SacsSystem.GetStatusCode(location.Status), newValues); return !HasErrorState(); } //------------------------------------------------------------------- } //======================================================================= }