12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using System;
- using System.Linq.Expressions;
- using InABox.Core;
- namespace Comal.Classes
- {
- [UserTracking(typeof(Job))]
- public class JobRequisition : Entity, IRemotable, IPersistent, INumericAutoIncrement<JobRequisition>, IJobMaterialRequisition,
- ILicense<ProjectManagementLicense>,
- IChildEntityLookup<Job, JobRequisition, JobRequisitionJobLookup>
- {
- [NullEditor]
- [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<Func<JobRequisition, int>> AutoIncrementField()
- {
- return x => x.Number;
- }
- public Filter<JobRequisition> AutoIncrementFilter()
- {
- return new Filter<JobRequisition>(x => x.Job.ID).IsEqualTo(Job.ID);
- }
- }
- internal class JobRequisitionJobLookup : LookupDefinitionGenerator<JobRequisition, Job>
- {
- public override Filter<JobRequisition> DefineFilter(Job[] items)
- {
- if (items.Length == 1)
- return new Filter<JobRequisition>(x => x.Job.ID).IsEqualTo(items[0].ID);
- return new Filter<JobRequisition>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
- }
- public override Columns<Job> DefineFilterColumns()
- => Columns.None<Job>().Add(x => x.ID);
- }
- }
|