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

69 lines
2.8 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_Process : SbmUpdateLogItemMonitor
{
//-------------------------------------------------------------------
// Configuration.
public new class Config : SbmUpdateLogItemMonitor.Config
{
public Config(SbmInternals internals, SysId itemId) :
base(internals)
{
ItemType = (short)Sbm.ItemType.Process;
ItemId = itemId;
}
}
//-------------------------------------------------------------------
// Data members.
private readonly List<TypeCodeDesc> processCategories, processTypes;
//-------------------------------------------------------------------
// Construction.
public SbmUpdateLogItemMonitor_Process(SbmInternals internals, SbmProcess process) :
base(new Config(internals, process.Id))
{
processCategories = SbmSystem.GetSystemCodes(Sbm.SystemCode.ProcessCategory);
processTypes = SbmSystem.GetSystemCodes(Sbm.SystemCode.ProcessType);
RecordAttrValues(process, false);
}
//-------------------------------------------------------------------
// Record attribute values.
public bool RecordUpdatedValues(SbmProcess process)
{
return RecordAttrValues(process, true);
}
private bool RecordAttrValues(SbmProcess process, bool newValues)
{
ClearErrorState();
// Process Properties - record values that may require logging.
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_AffIdOwner, SysId.ToInt(process.AffiliateIdOwner), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_Category, processCategories.GetDescForType(process.ProcessCategory, ((int)process.ProcessCategory).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_Type, processTypes.GetDescForType(process.ProcessType, ((int)process.ProcessType).ToString()), newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_Seq, process.Seq, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_DescBrief, process.DescBrief, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_DescOutline, process.DescOutline, newValues);
// Common properties.
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_Notes, process.Notes, newValues);
RecordAttrValue(SbmDbDfn.ColumnIdx.Process_Status, SacsSystem.GetStatusCode(process.Status), newValues);
return !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}