Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_AssetCategory.cs
T
2021-07-08 20:50:46 +01:00

79 lines
4.2 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_AssetCategory : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.Asset;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> assetTypes, incomeTypes;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_AssetCategory(SbmInternals internals, SbmAssetCategory assetCategory) :
base(new Config(internals, assetCategory.Id))
{
assetTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.AssetType);
incomeTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.AssetIncomeType);
RecordAttrValues(assetCategory, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmAssetCategory assetCategory)
{
return RecordAttrValues(assetCategory, true);
}
private bool RecordAttrValues(SbmAssetCategory assetCategory, bool newValues)
{
ClearErrorState();
// AssetCategory Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_AffIdOwner, SysId.ToInt(assetCategory.AffIdOwner), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, assetTypes.GetDescForType(assetCategory.AssetType, ((int)assetCategory.AssetType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_Code, assetCategory.Code, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief, assetCategory.DescBrief, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_IncomeType, incomeTypes.GetDescForType(assetCategory.IncomeType, ((int)assetCategory.IncomeType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_AssocIdSupplier, SysId.ToInt(assetCategory.AssocIdSupplier), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_PaymentTerms, assetCategory.PaymentTerms, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdPurchase, SysId.ToInt(assetCategory.TaxCodeIdPurchase), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_AssocIdCustomer, SysId.ToInt(assetCategory.AssocIdCustomer), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdSell, SysId.ToInt(assetCategory.TaxCodeIdSell), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdProfit, SysId.ToInt(assetCategory.TaxCodeIdProfit), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_DisposeCode, assetCategory.DisposeCode, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_UomIdRentalCost, SysId.ToInt(assetCategory.UomIdRentalCost), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdRentalCost, SysId.ToInt(assetCategory.TaxCodeIdRentalCost), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_UomIdRentalPrice, SysId.ToInt(assetCategory.UomIdRentalPrice), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdRentalPrice, SysId.ToInt(assetCategory.TaxCodeIdRentalPrice), newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_Notes, assetCategory.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.SaAssetCategory_Status, SacsSystem.GetStatusCode(assetCategory.Status), newValues);
return !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}