using System; using System.Linq; using InABox.Core; using PRSClasses; namespace Comal.Classes { public class JobBillOfMaterialsItem : StockEntity, IRemotable, IPersistent, IOneToMany, IOneToMany, ISequenceable, ILicense, IJobMaterial { [EntityRelationship(DeleteAction.Cascade)] public JobLink Job { get; set; } [EntityRelationship(DeleteAction.Cascade)] public JobBillOfMaterialsLink BillOfMaterials { get; set; } [EditorSequence(1)] [TextBoxEditor] public string Section { get; set; } [EditorSequence(2)] [EntityRelationship(DeleteAction.SetNull)] public JobITPLink ITP { get; set; } [EditorSequence(3)] [EntityRelationship(DeleteAction.SetNull)] [RequiredColumn] public override ProductLink Product { get; set; } [EditorSequence(4)] [EntityRelationship(DeleteAction.SetNull)] public ProductStyleLink Style { get; set; } [NullEditor] [Obsolete("Replaced by Dimensions",true)] public double UnitSize { get; set; } [EditorSequence(5)] [RequiredColumn] [DimensionsEditor(typeof(StockDimensions), AllowEditingUnit = false)] public override StockDimensions Dimensions { get; set; } [EditorSequence(6)] [DoubleEditor(Summary = Summary.Sum)] public double Quantity { get; set; } [EditorSequence(7)] public SupplierLink Supplier { get; set; } [NullEditor] public long Sequence { get; set; } public PurchaseOrderItemLink PurchaseOrderItem { get; set; } public ManufacturingPacketLink Packet { get; set; } protected override void Init() { base.Init(); Job = new JobLink(); BillOfMaterials = new JobBillOfMaterialsLink(); ITP = new JobITPLink(); Style = new ProductStyleLink(); PurchaseOrderItem = new PurchaseOrderItemLink(); Supplier = new SupplierLink(); Packet = new ManufacturingPacketLink(); } static JobBillOfMaterialsItem() { LinkedProperties.Register(x=>x.Product.DefaultStyle, x => x.ID, x => x.Style.ID); StockEntity.LinkStockDimensions(); } } }