using System; using InABox.Core; namespace Comal.Classes { [Caption("Issued Products")] public class EmployeeProduct : Entity, IRemotable, IPersistent, IOneToMany, ILicense { [NullEditor] public EmployeeLink Employee { get; set; } [EditorSequence(1)] private class ProductLookupGenerator : LookupDefinitionGenerator { public override Filter? DefineFilter(EmployeeProduct[] items) => LookupFactory.DefineFilter().And(x => x.NonStock).IsEqualTo(false).And(x => x.DefaultLocation).LinkValid(); } [LookupDefinition(typeof(ProductLookupGenerator))] public ProductLink Product { get; set; } [DoubleEditor] [EditorSequence(2)] public double Quantity { get; set; } = 1.0F; [TimestampEditor(Visible = Visible.Default)] [EditorSequence(3)] public DateTime Issued { get; set; } [NullEditor] [EntityRelationship(DeleteAction.SetNull)] public StockMovementLink IssuedMovement { get; set; } [TimestampEditor(Visible = Visible.Default)] [EditorSequence(4)] public DateTime Returned { get; set; } [NullEditor] [EntityRelationship(DeleteAction.Cascade)] public StockMovementLink ReturnedMovement { get; set; } [TimestampEditor(Visible = Visible.Default)] [EditorSequence(5)] public DateTime Disposed { get; set; } } }