Files
BusinessMgr-2019/SaBusMgrStandardDbas/Dbas/UpdateLog/SbmUpdateLogItemMonitor_Association.cs
T
2021-07-08 20:50:46 +01:00

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 = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.AssociationType);
discountTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.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 !HasErrorState();
}
//-------------------------------------------------------------------
}
//=======================================================================
}