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_Requirement : SbmUpdateLogItemMonitor { //------------------------------------------------------------------- // Configuration. public new class Config : SbmUpdateLogItemMonitor.Config { public Config(SbmInternals internals, SysId itemId) : base(internals) { ItemType = (short)Sbm.ItemType.Requirement; ItemId = itemId; } } //------------------------------------------------------------------- // Data members. private readonly List requirementTypes; //------------------------------------------------------------------- // Construction. public SbmUpdateLogItemMonitor_Requirement(SbmInternals internals, SbmRequirement requirement) : base(new Config(internals, requirement.Id)) { requirementTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.RequirementType); RecordAttrValues(requirement, false); } //------------------------------------------------------------------- // Record attribute values. public bool RecordUpdatedValues(SbmRequirement requirement) { return RecordAttrValues(requirement, true); } private bool RecordAttrValues(SbmRequirement requirement, bool newValues) { ClearErrorState(); // Requirement Properties - record values that may require logging. RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AffIdOwner, SysId.ToInt(requirement.AffiliateIdOwner), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AssocId, SysId.ToInt(requirement.AssociationId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TransId, SysId.ToInt(requirement.TransactionId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Address_ItemType, requirementTypes.GetDescForType(requirement.RequirementType, ((int)requirement.RequirementType).ToString()), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Seq, requirement.Seq, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_ReqntIdSource, SysId.ToInt(requirement.RequirementIdSource), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Required, requirement.Required, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Started, requirement.Started, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Completed, requirement.Completed, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_JobNumber, requirement.JobNumber, newValues); //RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AssIdSubContract, requirement.AssIdSubContract, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CommodityId, SysId.ToInt(requirement.CommodityId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_ProductCode, requirement.ProductCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AssetId, SysId.ToInt(requirement.AssetId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_DescBrief, requirement.DescBrief, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_DescIntro, requirement.DescIntro, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_DescOutline, requirement.DescOutline, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_DescDetail, requirement.DescDetail, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_PromotionCode, requirement.PromotionCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_NominalCode, requirement.NominalCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Quantity, requirement.Quantity, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_QuantityProd, requirement.QuantityProd, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_UomId, SysId.ToInt(requirement.UomId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Weight, requirement.Weight, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_UomIdWeight, SysId.ToInt(requirement.UomIdWeight), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_MaterialSourceCode, requirement.MaterialSourceCode, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AmountUnit, requirement.AmountUnit, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AmountAct, requirement.AmountAct, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AmountDisc, requirement.AmountDisc, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AmountNet, requirement.AmountNet, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TaxCodeId, SysId.ToInt(requirement.TaxCodeId), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TaxRate, requirement.TaxRate, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AmountTax, requirement.AmountTax, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_AmountTot, requirement.AmountTot, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TimeEst, requirement.TimeEst, newValues); //RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TimeEstChunks, requirement.TimeEstChunks, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TimeAct, requirement.TimeAct, newValues); //RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TimeActChunks, requirement.TimeActChunks, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_TimeTot, requirement.TimeTot, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_LocationIdStock, SysId.ToInt(requirement.LocationIdStock), newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostLabourHours, requirement.CostLabourHours, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostLabourRateHour, requirement.CostLabourRateHour, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostLabour, requirement.CostLabour, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostCommodity, requirement.CostCommodity, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostPurchase, requirement.CostPurchase, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostProcess, requirement.CostProcess, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostAdditional, requirement.CostAdditional, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostTotal, requirement.CostTotal, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_CostCalculated, requirement.CostCalculated, newValues); // Common properties. RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Notes, requirement.Notes, newValues); RecordAttrValue(SbmDbDfn.ColumnIdx.Requirement_Status, SacsSystem.GetStatusCode(requirement.Status), newValues); return !HasErrorState(); } //------------------------------------------------------------------- } //======================================================================= }