using InABox.Core; namespace Comal.Classes { public class JobForm : EntityForm, IDigitalForm, ILicense { [EditorSequence(998)] [EntityRelationship(DeleteAction.Cascade)] public override JobLink Parent { get; set; } private class JobScopeLookup : LookupDefinitionGenerator { public override Filter DefineFilter(JobForm[] items) { var item = items?.Length == 1 ? items[0] : null; if (item != null) return new Filter(x => x.Job.ID).IsEqualTo(item.Parent.ID).And(x => x.Status.Approved).IsEqualTo(true); return new Filter(x => x.ID).None(); } public override Columns DefineFilterColumns() => new Columns(x => x.Parent.ID); } [LookupDefinition(typeof(JobScopeLookup))] [EditorSequence(999)] public JobScopeLink JobScope { get; set; } public override string AutoIncrementPrefix() => "JF"; } }