using InABox.Core; using System; using System.Collections.Generic; using System.Text; namespace Comal.Classes { public class BillApproval : Entity, ISequenceable, IRemotable, IPersistent, ILicense { private class EmployeeLookup : LookupDefinitionGenerator { public override Filter? DefineFilter(BillApproval[] items) { return new Filter(x => x.ID).NotInList(items.ToArray(x => x.Employee.ID)); } public override Columns DefineFilterColumns() { return base.DefineFilterColumns().Add(x => x.Employee.ID); } } [EditorSequence(1)] [EntityRelationship(DeleteAction.Cascade)] [LookupDefinition(typeof(EmployeeLookup))] public EmployeeLink Employee { get; set; } [NullEditor] [EntityRelationship(DeleteAction.Cascade)] public BillLink Bill { get; set; } [EditorSequence(2)] public DateTime Approved { get; set; } [NullEditor] public bool IsCustom { get; set; } [NullEditor] public long Sequence { get; set; } static BillApproval() { DefaultColumns.Add(x => x.Bill.Number); DefaultColumns.Add(x => x.Employee.Code); DefaultColumns.Add(x => x.Employee.Name); DefaultColumns.Add(x => x.Approved); } } }