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

70 lines
3.0 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_PortfolioItem : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.PortfolioItem;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> portfolioItemTypes;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_PortfolioItem(SbmInternals internals, SbmPortfolioItem portfolioItem) :
base(new Config(internals, portfolioItem.Id))
{
portfolioItemTypes = internals.GetApplicationCodes(Sbm.ApplicationCode.PortfolioItemType);
RecordAttrValues(portfolioItem, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmPortfolioItem portfolioItem)
{
return RecordAttrValues(portfolioItem, true);
}
private bool RecordAttrValues(SbmPortfolioItem portfolioItem, bool newValues)
{
ClearErrorState();
// PortfolioItem Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_AffIdOwner, SysId.ToInt(portfolioItem.AffiliateIdOwner), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_Type, portfolioItemTypes.GetDescForType(portfolioItem.Type, ((int)portfolioItem.Type).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_CommodityId, SysId.ToString(portfolioItem.CommodityId), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdRef, SysId.ToString(portfolioItem.ItemIdRef), newValues);
//RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_Seq, portfolioItem.Sequence, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_Code, portfolioItem.Code, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_ShortCut, portfolioItem.ShortCut, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_Caption, portfolioItem.Caption, newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_Notes, portfolioItem.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.PortfolioItem_Status, SacsSystem.GetStatusCode(portfolioItem.Status), newValues);
return OK;
}
//-------------------------------------------------------------------
}
//=======================================================================
}