using System; using InABox.Core; namespace Comal.Classes { public class ProductLink : EntityLink { [CodePopupEditor(typeof(Product), "TaxCode.ID", "PurchaseGL.ID")] public override Guid ID { get; set; } [CodeEditor(Visible = Visible.Default)] public string Code { get; set; } [TextBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public string Name { get; set; } [NullEditor] [Obsolete("Replaced with Dimensions", true)] // [DoubleEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public double UnitSize { get; set; } [NullEditor] [Obsolete("Replaced with Dimensions", true)] // [DoubleEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public double Weight { get; set; } [NullEditor] [Obsolete("Replaced with Dimensions", false)] public ProductUOMLink Units { get; set; } [RequiredColumn] public ProductDimensions Dimensions { get; set; } public ProductGroupLink Group { get; set; } [NullEditor] [RequiredColumn] public ProductStyleLink DefaultStyle { get; set; } [NullEditor] [RequiredColumn] public StockLocationLink DefaultLocation { get; set; } [CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public double BaseCost { get; set; } [CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public double NettCost { get; set; } [CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public double AverageCost { get; set; } [NullEditor] [RequiredColumn] public TaxCodeLink TaxCode { get; set; } [NullEditor] [RequiredColumn] public PurchaseGLCodeLink PurchaseGL { get; set; } [NullEditor] [RequiredColumn] public SalesGLCodeLink SellGL { get; set; } [NullEditor] public bool NonStock { get; set; } = true; [IntegerEditor] public int MinimumStockLevel { get; set; } [NullEditor] public ImageDocumentLink Image { get; set; } [CheckBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public bool UseDefaultSupplierPricing { get; set; } [CheckBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)] public ProductPricingStrategy PricingStrategy { get; set; } [NullEditor] [RequiredColumn] public CostCentreLink CostCentre { get; set; } [NullEditor] public ProductCharge Charge { get; set; } [NullEditor] public DigitalFormLink DigitalForm { get; set; } [DoubleEditor(Visible=Visible.Optional, Editable = Editable.Hidden, Summary=Summary.Sum)] public double UnitQty { get; set; } [DoubleEditor(Visible=Visible.Optional, Editable = Editable.Hidden, Summary=Summary.Sum)] public double RemnantQty { get; set; } [DoubleEditor(Visible=Visible.Optional, Editable = Editable.Hidden, Summary=Summary.Sum)] public double OnOrder { get; set; } [DoubleEditor(Visible=Visible.Optional, Editable = Editable.Hidden, Summary=Summary.Sum)] public double TotalStock { get; set; } [DoubleEditor(Visible=Visible.Optional, Editable = Editable.Hidden, Summary=Summary.Sum)] public double ReservedStock { get; set; } [DoubleEditor(Visible=Visible.Optional, Editable = Editable.Hidden, Summary=Summary.Sum)] public double FreeStock { get; set; } public override string ToString() { return string.Format("{0}: {1}", Code, Name); } } }