104 lines
6.3 KiB
C#
104 lines
6.3 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.Bus;
|
|
using Sarand.Net.Standard.Base.Core;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog
|
|
{
|
|
//=======================================================================
|
|
public class SbmUpdateLogItemMonitor_Association : SbmUpdateLogItemMonitor
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Configuration.
|
|
public new class Config : SbmUpdateLogItemMonitor.Config
|
|
{
|
|
public Config(SbmInternals internals, SysId itemId) :
|
|
base(internals)
|
|
{
|
|
ItemType = (short)Sbm.ItemType.Association;
|
|
ItemId = itemId;
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private readonly List<TypeCodeDesc> associationTypes;
|
|
private readonly List<TypeCodeDesc> discountTypes;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SbmUpdateLogItemMonitor_Association(SbmInternals internals, SbmAssociation association) :
|
|
base(new Config(internals, association.Id))
|
|
{
|
|
associationTypes = internals.GetApplicationCodes(Sbm.ApplicationCode.AssociationType);
|
|
discountTypes = internals.GetApplicationCodes(Sbm.ApplicationCode.DiscountType);
|
|
RecordAttrValues(association, false);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Record attribute values.
|
|
public bool RecordUpdatedValues(SbmAssociation uassociation)
|
|
{
|
|
return RecordAttrValues(uassociation, true);
|
|
}
|
|
private bool RecordAttrValues(SbmAssociation association, bool newValues)
|
|
{
|
|
ClearErrorState();
|
|
|
|
// Association Properties - record values that may require logging.
|
|
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AffIdOwner, SysId.ToInt(association.AffiliateIdOwner), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AffIdTarget, SysId.ToInt(association.AffiliateIdTarget), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Type, associationTypes.GetDescForType(association.AssociationType, ((int)association.AssociationType).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Code, association.Code, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_ExtRef, association.RefExt, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Location, association.Location, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Role, association.Role, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_PhoneMain, association.PhoneMain, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Email, association.Email, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Group, association.Group, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DescDetail, association.DescDetail, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DefaultNominalCode, association.DefaultNominalCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AccountManagerCode, association.AccountManagerCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AccountHandlerCode, association.AccountHandlerCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AccountTypeCode, association.AccountTypeCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AccountRatingCode, association.AccountRatingCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_ContactAreaCode, association.ContactAreaCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_ContactHandlerCode, association.ContactHandlerCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_ContactMethodCode, association.ContactMethodCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_ContactCallCycleCode, association.ContactCallCycleCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_CallsPerYear, association.CallsPerYear, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_LastCall, association.LastCall, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_OrderLeadTimeCode, association.OrderLeadTimeCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DeliveryTypeCode, association.DeliveryTypeCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DeliveryMethodCode, association.DeliveryMethodCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DeliveryCourierCode, association.DeliveryCourierCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DeliveryBookInCode, association.DeliveryBookInCode, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AmountTransMax, association.AmountTransMax, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AnnualSalesTarget, association.AnnualSalesTarget, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_CreditLimit, association.CreditLimit, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_AccountBalance, association.AccountBalance, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DiscountType, discountTypes.GetDescForType(association.DiscountType, ((int)association.DiscountType).ToString()), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_DiscountRate, association.DiscountRate, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_PriceSetId, SysId.ToInt(association.PriceSetId), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_TaxCodeId, SysId.ToInt(association.TaxCodeId), newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_PaymentTerms, association.PaymentTerms, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_InvoiceDesc, association.InvoiceDesc, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Terminated, association.Terminated, newValues);
|
|
|
|
// Common properties.
|
|
/*
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Notes, uassociation.Notes, newValues);
|
|
RecordAttrValue(SbmDbDfn.ColumnIdx.Association_Status, SacsSystem.GetStatusCode(uassociation.Status), newValues);
|
|
*/
|
|
|
|
return OK;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|