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_Transaction : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.Transaction; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List transactionTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_Transaction(SbmInternals internals, SbmTransaction transaction) : base(new Config(internals, transaction.Id)) { transactionTypes = internals.GetSystemCodes(Sbm.SystemCode.TransactionType); RecordAttrValues(transaction, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmTransaction transaction) { return RecordAttrValues(transaction, true); } private bool RecordAttrValues(SbmTransaction transaction, bool newValues) { ClearErrorState(); // Transaction Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AffIdOwner, SysId.ToInt(transaction.AffiliateIdOwner), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AssocId, SysId.ToInt(transaction.AssociationId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Type, transactionTypes.GetDescForType(transaction.TransactionType, ((int)transaction.TransactionType).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Ref, transaction.Ref, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_RefInt, transaction.RefInt, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_RefExt, transaction.RefExt, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_RaisedBy, transaction.RaisedBy, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AffIdRaise, SysId.ToInt(transaction.AffiliateIdRaise), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AssocIdOffice, SysId.ToInt(transaction.AssociationIdOffice), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_ContactName, transaction.ContactName, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Likelihood, transaction.Likelihood, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_TransIdSource, SysId.ToInt(transaction.TransactionIdSource), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_ReferCode, transaction.ReferCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_ReferSource, transaction.ReferSource, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AffIdRefer, SysId.ToInt(transaction.AffiliateIdRefer), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AssocIdContract, SysId.ToInt(transaction.AssociationIdContract), newValues); //RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AssocIdDelivery, SysId.ToInt(transaction.AssocIdDelivery), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Raised, transaction.Raised, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Required, transaction.Required, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_InProgress, transaction.InProgress, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveredEst, transaction.DeliveredEst, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveredAct, transaction.DeliveredAct, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Closed, transaction.Closed, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Department, transaction.Department, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DescBrief, transaction.DescBrief, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DescIntro, transaction.DescIntro, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DescOutline, transaction.DescOutline, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DescDetail, transaction.DescDetail, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_ResponseCode, transaction.ResponseCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_ContactAreaCode, transaction.ContactAreaCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Postcode, transaction.Postcode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_CurrencyId, SysId.ToInt(transaction.CurrencyId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_TaxCodeId, SysId.ToInt(transaction.TaxCodeId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AmountEst, transaction.AmountEst, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AmountMax, transaction.AmountMax, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AmountNet, transaction.AmountNet, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AmountTax, transaction.AmountTax, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_AmountTot, transaction.AmountTot, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_TimeEst, transaction.TimeEst, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_TimeAct, transaction.TimeAct, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_TimeTot, transaction.TimeTot, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_LocationIdStock, SysId.ToInt(transaction.LocationIdStock), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Weight, transaction.Weight, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_UomIdWeight, SysId.ToInt(transaction.UomIdWeight), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_BoxCount, transaction.BoxCount, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryStatusCode, transaction.DeliveryStatusCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryTypeCode, transaction.DeliveryTypeCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryMethodCode, transaction.DeliveryMethodCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryCourierCode, transaction.DeliveryCourierCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryBookInCode, transaction.DeliveryBookInCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_StockPickerCode, transaction.StockPickerCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryRef, transaction.DeliveryRef, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryComment, transaction.DeliveryComment, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet, transaction.DeliveryAmountNet, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_TaxCodeIdDelivery, SysId.ToInt(transaction.TaxCodeIdDelivery), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax, transaction.DeliveryAmountTax, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTot, transaction.DeliveryAmountTot, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_CostLabourRateHour, transaction.CostLabourRateHour, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryDepartment, transaction.DeliveryDepartment, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_DeliveryNominalCode, transaction.DeliveryNominalCode, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Notes, transaction.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Transaction_Status, SacsSystem.GetStatusCode(transaction.Status), newValues); return OK; } //------------------------------------------------------------------- } //======================================================================= }