123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using System;
- using InABox.Core;
- namespace Comal.Classes
- {
- public class StockDimensions : Dimensions<ProductDimensionUnitLink,ProductDimensionUnit>
- {
- [Obsolete("You should always provide a Linked Entity", true)]
- public StockDimensions()
- {
- }
- public StockDimensions(Func<Entity> entity) : base(entity)
- {
- }
- [NullEditor]
- [RequiredColumn]
- public override ProductDimensionUnitLink Unit { get; set; }
-
- [DoubleEditor(Visible = Visible.Hidden)]
- [EditorSequence(2)]
- [Caption("Pack Qty", IncludePath = false)]
- [RequiredColumn]
- public override double Quantity { get; set; }
-
- [DoubleEditor(Visible = Visible.Hidden)]
- [EditorSequence(3)]
- [Caption("Length", IncludePath = false)]
- [RequiredColumn]
- public override double Length { get; set; }
-
- [DoubleEditor(Visible = Visible.Hidden)]
- [EditorSequence(4)]
- [Caption("Width", IncludePath = false)]
- [RequiredColumn]
- public override double Width { get; set; }
-
- [DoubleEditor(Visible = Visible.Hidden)]
- [EditorSequence(5)]
- [Caption("Height", IncludePath = false)]
- [RequiredColumn]
- public override double Height { get; set; }
-
- [DoubleEditor(Visible = Visible.Hidden)]
- [EditorSequence(6)]
- [Caption("Weight", IncludePath = false)]
- [RequiredColumn]
- public override double Weight { get; set; }
-
- [DoubleEditor(Visible = Visible.Optional, Editable = Editable.Hidden, Summary = Summary.Sum)]
- [Caption("Value", IncludePath = false)]
- [EditorSequence(7)]
- [RequiredColumn]
- public override double Value { get; set; }
-
- [TextBoxEditor(Visible = Visible.Default, Editable=Editable.Hidden)]
- [EditorSequence(8)]
- [Caption("Size", IncludePath = false)]
- [RequiredColumn]
- public override String UnitSize { get; set; }
- }
-
- public abstract class StockEntity : DimensionedEntity<StockDimensions>
- {
- public abstract ProductLink Product { get; set; }
- protected override void Init()
- {
- base.Init();
- Product = new ProductLink(() => this);
- }
- public static void LinkStockDimensions<TStock>() where TStock : StockEntity
- {
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, Guid>(x => x.Product.Dimensions.Unit, x => x.ID, x => x.Dimensions.Unit.ID);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Code, x => x.Dimensions.Unit.Code);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Description, x => x.Dimensions.Unit.Description);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasLength, x => x.Dimensions.Unit.HasLength);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasHeight, x => x.Dimensions.Unit.HasHeight);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasQuantity, x => x.Dimensions.Unit.HasQuantity);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasWeight, x => x.Dimensions.Unit.HasWeight);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, bool>(x => x.Product.Dimensions.Unit, x => x.HasWidth, x => x.Dimensions.Unit.HasWidth);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Formula, x => x.Dimensions.Unit.Formula);
- LinkedProperties.Register<TStock, ProductDimensionUnitLink, String>(x => x.Product.Dimensions.Unit, x => x.Format, x => x.Dimensions.Unit.Format);
- LinkedProperties.Register<TStock, ProductDimensions, double>(x => x.Product.Dimensions, x => x.Height, x => x.Dimensions.Height);
- LinkedProperties.Register<TStock, ProductDimensions, double>(x => x.Product.Dimensions, x => x.Length, x => x.Dimensions.Length);
- LinkedProperties.Register<TStock, ProductDimensions, double>(x => x.Product.Dimensions, x => x.Quantity, x => x.Dimensions.Quantity);
- LinkedProperties.Register<TStock, ProductDimensions, double>(x => x.Product.Dimensions, x => x.Weight, x => x.Dimensions.Weight);
- LinkedProperties.Register<TStock, ProductDimensions, double>(x => x.Product.Dimensions, x => x.Width, x => x.Dimensions.Width);
- LinkedProperties.Register<TStock, ProductDimensions, double>(x => x.Product.Dimensions, x => x.Value, x => x.Dimensions.Value);
- LinkedProperties.Register<TStock, ProductDimensions, String>(x => x.Product.Dimensions, x => x.UnitSize, x => x.Dimensions.UnitSize);
- }
- }
-
- }
|