89 lines
4.5 KiB
C#
89 lines
4.5 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_Address : SbmUpdateLogItemMonitor
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Configuration.
|
|
public new class Config : SbmUpdateLogItemMonitor.Config
|
|
{
|
|
public Config(SbmInternals internals, SysId itemId) :
|
|
base(internals)
|
|
{
|
|
ItemType = (short)Sbm.ItemType.Address;
|
|
ItemId = itemId;
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private readonly List<TypeCodeDesc> itemTypes, addressTypes;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SbmUpdateLogItemMonitor_Address(SbmInternals internals, SbmAddress address) :
|
|
base(new Config(internals, address.Id))
|
|
{
|
|
itemTypes = internals.GetSystemCodes(Sbm.SystemCode.ItemType);
|
|
addressTypes = internals.GetSystemCodes(Sbm.SystemCode.AddressType);
|
|
RecordAttrValues(address, false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Record attribute values.
|
|
public bool RecordUpdatedValues(SbmAddress address)
|
|
{
|
|
return RecordAttrValues(address, true);
|
|
}
|
|
private bool RecordAttrValues(SbmAddress address, bool newValues)
|
|
{
|
|
ClearErrorState();
|
|
|
|
// Address Properties - record values that may require logging.
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemType, itemTypes.GetDescForType(address.ItemType, ((int)address.ItemType).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemId, SysId.ToInt(address.ItemId), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_AddIdRef, SysId.ToInt(address.AddressIdRef), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_RefExt, address.RefExt, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Type, addressTypes.GetDescForType(address.AddressType, ((int)address.AddressType).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Name, address.Name, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_DescBrief, address.DescBrief, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Line1, address.Line1, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Line2, address.Line2, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Line3, address.Line3, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_City, address.City, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Province, address.Province, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Postcode, address.Postcode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Country, address.Country, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Contact, address.Contact, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Phone, address.Phone, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Fax, address.Fax, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Email, address.Email, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_AccountManagerCode, address.AccountManagerCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_AccountHandlerCode, address.AccountHandlerCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ContactAreaCode, address.ContactAreaCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ContactHandlerCode, address.ContactHandlerCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_DeliveryTypeCode, address.DeliveryTypeCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_DeliveryBookInCode, address.DeliveryBookInCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_LastVisitOn, address.LastVisitOn, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_NextVisitOn, address.NextVisitOn, newValues);
|
|
|
|
// Common properties.
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Notes, address.Notes, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Address_Status, SacsSystem.GetStatusCode(address.Status), newValues);
|
|
|
|
return OK;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|