using System; using System.Linq; using Comal.Classes; using InABox.Core; using InABox.DynamicGrid; namespace PRSDesktop { public class JobOrderGrid : DynamicDataGrid, IJobControl, IDataModelSource { public JobOrderGrid() { ColumnsTag = "JobOrders"; Options.AddRange( DynamicGridOption.RecordCount, DynamicGridOption.SelectColumns, DynamicGridOption.FilterRows, DynamicGridOption.MultiSelect ); } public event DataModelUpdateEvent OnUpdateDataModel; public string SectionName => "Job Orders"; public DataModel DataModel(Selection selection) { var ids = ExtractValues(x => x.ID, selection).ToArray(); return new BaseDataModel(new Filter(x => x.ID).InList(ids)); } public Guid ParentID { get; set; } public JobPanelSettings Settings { get; set; } protected override void Reload(Filters criteria, Columns columns, ref SortOrder sort, Action action) { criteria.Add(new Filter(x => x.Job.ID).IsEqualTo(ParentID)); base.Reload(criteria, columns, ref sort, action); } } }