StockEntity.cs 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using InABox.Core;
  3. using PRSClasses;
  4. namespace Comal.Classes
  5. {
  6. public abstract class StockEntity : DimensionedEntity<StockDimensions>
  7. {
  8. public abstract ProductLink Product { get; set; }
  9. public static void LinkStockDimensions<TStock>() where TStock : StockEntity
  10. {
  11. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, Guid>(x => x.Product.Dimensions.Unit, x => x.ID, x => x.Dimensions.Unit.ID);
  12. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Code, x => x.Dimensions.Unit.Code);
  13. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Description, x => x.Dimensions.Unit.Description);
  14. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasLength, x => x.Dimensions.Unit.HasLength);
  15. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasHeight, x => x.Dimensions.Unit.HasHeight);
  16. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasQuantity, x => x.Dimensions.Unit.HasQuantity);
  17. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasWeight, x => x.Dimensions.Unit.HasWeight);
  18. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasWidth, x => x.Dimensions.Unit.HasWidth);
  19. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Formula, x => x.Dimensions.Unit.Formula);
  20. // LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Format, x => x.Dimensions.Unit.Format);
  21. LinkedProperties.Register<TStock, StockDimensions, Guid>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.ID, x => x.Dimensions.Unit.ID);
  22. LinkedProperties.Register<TStock, StockDimensions, String>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.Code, x => x.Dimensions.Unit.Code);
  23. LinkedProperties.Register<TStock, StockDimensions, String>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.Description, x => x.Dimensions.Unit.Description);
  24. LinkedProperties.Register<TStock, StockDimensions, bool>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.HasLength, x => x.Dimensions.Unit.HasLength);
  25. LinkedProperties.Register<TStock, StockDimensions, bool>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.HasHeight, x => x.Dimensions.Unit.HasHeight);
  26. LinkedProperties.Register<TStock, StockDimensions, bool>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.HasQuantity, x => x.Dimensions.Unit.HasQuantity);
  27. LinkedProperties.Register<TStock, StockDimensions, bool>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.HasWeight, x => x.Dimensions.Unit.HasWeight);
  28. LinkedProperties.Register<TStock, StockDimensions, bool>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.HasWidth, x => x.Dimensions.Unit.HasWidth);
  29. LinkedProperties.Register<TStock, StockDimensions, String>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.Formula, x => x.Dimensions.Unit.Formula);
  30. LinkedProperties.Register<TStock, StockDimensions, String>(x => x.Product.DefaultInstance.Dimensions, x => x.Unit.Format, x => x.Dimensions.Unit.Format);
  31. LinkedProperties.Register<TStock, StockDimensions, double>(x => x.Product.DefaultInstance.Dimensions, x => x.Height, x => x.Dimensions.Height);
  32. LinkedProperties.Register<TStock, StockDimensions, double>(x => x.Product.DefaultInstance.Dimensions, x => x.Length, x => x.Dimensions.Length);
  33. LinkedProperties.Register<TStock, StockDimensions, double>(x => x.Product.DefaultInstance.Dimensions, x => x.Quantity, x => x.Dimensions.Quantity);
  34. LinkedProperties.Register<TStock, StockDimensions, double>(x => x.Product.DefaultInstance.Dimensions, x => x.Weight, x => x.Dimensions.Weight);
  35. LinkedProperties.Register<TStock, StockDimensions, double>(x => x.Product.DefaultInstance.Dimensions, x => x.Width, x => x.Dimensions.Width);
  36. LinkedProperties.Register<TStock, StockDimensions, double>(x => x.Product.DefaultInstance.Dimensions, x => x.Value, x => x.Dimensions.Value);
  37. LinkedProperties.Register<TStock, StockDimensions, String>(x => x.Product.DefaultInstance.Dimensions, x => x.UnitSize, x => x.Dimensions.UnitSize);
  38. }
  39. }
  40. }