ProductLink.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using System;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class ProductLink : EntityLink<Product>
  6. {
  7. public ProductLink() : this(null)
  8. {
  9. }
  10. public ProductLink(Entity entity) : base(entity)
  11. {
  12. }
  13. [CodePopupEditor(typeof(Product))]
  14. public override Guid ID { get; set; }
  15. [CodeEditor(Visible = Visible.Default)]
  16. public string Code { get; set; }
  17. [TextBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  18. public string Name { get; set; }
  19. [NullEditor]
  20. [Obsolete("Replaced with Dimensions", true)]
  21. // [DoubleEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  22. public double UnitSize { get; set; }
  23. [NullEditor]
  24. [Obsolete("Replaced with Dimensions", true)]
  25. // [DoubleEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  26. public double Weight { get; set; }
  27. [NullEditor]
  28. [Obsolete("Replaced with Dimensions", false)]
  29. public ProductUOMLink Units { get; set; }
  30. public ProductDimensions Dimensions { get; set; }
  31. public ProductGroupLink Group { get; set; }
  32. [NullEditor]
  33. public ProductStyleLink DefaultStyle { get; set; }
  34. [NullEditor]
  35. public StockLocationLink DefaultLocation { get; set; }
  36. [CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  37. public double BaseCost { get; set; }
  38. [CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  39. public double NettCost { get; set; }
  40. [NullEditor]
  41. public TaxCodeLink TaxCode { get; set; }
  42. [NullEditor]
  43. public bool NonStock { get; set; }
  44. [NullEditor]
  45. public ImageDocumentLink Image { get; set; }
  46. [CheckBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  47. public bool UseDefaultSupplierPricing { get; set; }
  48. [CheckBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
  49. public ProductPricingStrategy PricingStrategy { get; set; }
  50. [NullEditor]
  51. public DigitalFormLink DigitalForm { get; set; }
  52. public override string ToString()
  53. {
  54. return string.Format("{0}: {1}", Code, Name);
  55. }
  56. protected override void Init()
  57. {
  58. base.Init();
  59. DefaultStyle = new ProductStyleLink();
  60. Units = new ProductUOMLink();
  61. DefaultLocation = new StockLocationLink();
  62. TaxCode = new TaxCodeLink(LinkedEntity);
  63. NonStock = true;
  64. Image = new ImageDocumentLink();
  65. DigitalForm = new DigitalFormLink();
  66. Group = new ProductGroupLink();
  67. Dimensions = new ProductDimensions();
  68. }
  69. }
  70. }