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 associationTypes; private readonly List discountTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_Association(SbmInternals internals, SbmAssociation association) : base(new Config(internals, association.Id)) { associationTypes = internals.GetSystemCodes(Sbm.SystemCode.AssociationType); discountTypes = internals.GetSystemCodes(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 OK; } //------------------------------------------------------------------- } //======================================================================= }