69 lines
2.8 KiB
C#
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 = internals.GetSystemCodes(Sbm.SystemCode.ProcessCategory);
|
|
processTypes = internals.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 OK;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|