| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | using System;using System.Linq;using InABox.Core;namespace Comal.Classes{    [UserTracking(typeof(ManufacturingPacket))]    public class Setout : Entity, IPersistent, IRemotable, ILicense<ManufacturingLicense>    {        [EntityRelationship(DeleteAction.Cascade)]        public JobLink JobLink { get; set; }        [UniqueCodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)]        public string Number { get; set; }        [Obsolete("Supreceded by ManufacturingPacket.Serial")]        public string Reference { get; set; }        [MemoEditor]        public string Description { get; set; }        [Obsolete("Superceded by ManufacturingPacket.Location")]        public string Location { get; set; }        public DateTime DueDate { get; set; }        //[NullEditor]        //public PackableList<FactoryTemplateItem> Items { get; set; }        //[NullEditor]        //public PackableList<ManufacturingItem> Manufacturing { get; set; }        private class JobStageLookup : LookupDefinitionGenerator<JobStage, Setout>        {            public override Filter<JobStage> DefineFilter(Setout[] items)            {                if (items.Length == 1)                    return new Filter<JobStage>(x => x.Job.ID).IsEqualTo(items.First().JobLink.ID).And(x => x.IsHeader).IsEqualTo(false);                return new Filter<JobStage>(x => x.ID).IsEqualTo(Guid.Empty);            }            public override Columns<Setout> DefineFilterColumns()                => Columns.None<Setout>().Add(x => x.JobLink.ID);        }        [LookupDefinition(typeof(JobStageLookup))]        public JobStageLink JobStage { get; set; }        public SetoutGroupLink Group { get; set; }        public override string ToString()        {            return string.Format("{0}: {1}", Number, Reference);        }        static Setout()        {            DefaultColumns.Add<Setout>(x => x.Number);            DefaultColumns.Add<Setout>(x => x.Description);            DefaultColumns.Add<Setout>(x => x.DueDate);        }    }}
 |