| 123456789101112131415161718192021222324252627282930313233343536 | using InABox.Core;using System.Linq;namespace Comal.Classes{    [UserTracking(typeof(Quote))]    public class CostSheetKit : Entity, IPersistent, IRemotable, ISequenceable, IOneToMany<CostSheetSection>, IOneToMany<CostSheet>,        ILicense<QuotesManagementLicense>    {        [EntityRelationship(DeleteAction.Cascade)]        public CostSheetLink CostSheet { get; set; }        [EntityRelationship(DeleteAction.SetNull)]        public CostSheetSectionLink Section { get; set; }        private class KitLookup : LookupDefinitionGenerator<Kit, CostSheetKit>        {            public override Filter<Kit> DefineFilter(CostSheetKit[] items)            {                var result = new Filter<Kit>(x => x.Active).IsEqualTo(true);                if (items.Any())                    result = result.And(x => x.Section.ID).IsEqualTo(items.First().Section.ID);                return result;            }            public override Columns<CostSheetKit> DefineFilterColumns()                => Columns.None<CostSheetKit>().Add(x => x.Section.ID);        }        [LookupDefinition(typeof(KitLookup))]        [EntityRelationship(DeleteAction.SetNull)]        public KitLink Kit { get; set; }        [NullEditor]        public long Sequence { get; set; }    }}
 |