using System; using System.Linq.Expressions; using InABox.Core; namespace Comal.Classes { [UserTracking(typeof(Job))] public class JobRequisition : Entity, IRemotable, IPersistent, INumericAutoIncrement, IJobMaterialRequisition, ILicense { [IntegerEditor(Visible = Visible.Default, Editable = Editable.Disabled)] [EntityRelationship(DeleteAction.Cascade)] public JobLink Job { get; set; } [IntegerEditor(Visible = Visible.Default, Editable = Editable.Disabled)] [EditorSequence(1)] public int Number { get; set; } [TextBoxEditor(Visible = Visible.Default)] [EditorSequence(2)] public string Description { get; set; } [MemoEditor(Visible = Visible.Optional)] [EditorSequence(3)] public String Notes { get; set; } [DateEditor(Visible = Visible.Default)] [EditorSequence(4)] public DateTime DueDate { get; set; } [NullEditor] [Obsolete("Replaced with Approved", true)] public DateTime Date { get; set; } [TimestampEditor(Visible = Visible.Default)] [EditorSequence(5)] [LoggableProperty] public DateTime Approved { get; set; } public Expression> AutoIncrementField() { return x => x.Number; } public Filter AutoIncrementFilter() { return new Filter(x => x.Job.ID).IsEqualTo(Job.ID); } protected override void Init() { base.Init(); Job = new JobLink(); Notes = ""; DueDate = DateTime.Now; Description = ""; } } }