using Comal.Classes; using InABox.Core; using InABox.DynamicGrid; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PRSDesktop.Panels.Jobs; public class JobProductStylesGrid : DynamicDataGrid, IJobControl, IDataModelSource { public Job Job { get; set; } JobPanelSettings IJobControl.Settings { get; set; } public string SectionName => "Job Product Styles"; public event DataModelUpdateEvent? OnUpdateDataModel; protected override bool CanCreateItems() { return Job.ID != Guid.Empty; } protected override JobStyle CreateItem() { var result = base.CreateItem(); result.Job.ID = Job.ID; result.Job.Synchronise(Job); return result; } public DataModel DataModel(Selection selection) { var ids = ExtractValues(x => x.ID, selection).ToArray(); return new BaseDataModel(new Filter(x => x.ID).InList(ids)); } protected override void Reload(Filters criteria, Columns columns, ref SortOrder? sort, Action action) { criteria.Add(new Filter(x => x.Job.ID).IsEqualTo(Job.ID)); base.Reload(criteria, columns, ref sort, action); } }