123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using InABox.Core;
- using System.Linq;
- namespace Comal.Classes
- {
- public class JobStyle : Entity, IRemotable, IPersistent, ILicense<ProjectManagementLicense>
- {
- [EntityRelationship(DeleteAction.Cascade)]
- [Editable(Editable.Hidden)]
- public JobLink Job { get; set; }
- [EntityRelationship(DeleteAction.SetNull)]
- [EditorSequence(2)]
- public ProductStyleLink Style { get; set; }
- [EditorSequence(3)]
- [MemoEditor]
- public string Note { get; set; } = "";
- private class JobDocumentSetLookup : LookupDefinitionGenerator<JobDocumentSet, JobStyle>
- {
- public override Filter<JobDocumentSet>? DefineFilter(JobStyle[] items)
- {
- var ids = items.Select(x => x.Job.ID).Distinct().ToArray();
- return ids.Any()
- ? new Filter<JobDocumentSet>(x => x.Job.ID).InList(ids)
- : new Filter<JobDocumentSet>().None();
- }
- public override Columns<JobStyle> DefineFilterColumns()
- {
- return Columns.None<JobStyle>().Add(x => x.ID)
- .Add(x=>x.Job.ID)
- .Add(x => x.Job.JobNumber)
- .Add(x => x.Job.Name);
- }
- }
- [LookupDefinition(typeof(JobDocumentSetLookup))]
- [EntityRelationship(DeleteAction.SetNull)]
- public JobDocumentSetLink JobDocumentSet { get; set; }
- }
- }
|