using System; using System.Windows.Media.Imaging; using InABox.Core; using InABox.DynamicGrid; using InABox.WPF; using PRSDesktop.Integrations.V6; namespace PRSDesktop.Integrations.V6.Grids; public class V6ProjectGrid : DynamicItemsListGrid { private static BitmapImage Quotation => PRSDesktop.Resources.quotation.AsBitmapImage(); private static BitmapImage Revision => PRSDesktop.Resources.revision.AsBitmapImage(); public V6ProjectGrid() { ActionColumns.Add(new DynamicImageColumn(StatusImage) { Position = DynamicActionColumnPosition.Start}); } public override DynamicGridColumns GenerateColumns() { return new DynamicGridColumns() .AddFluent(x => x.Number, 60, "No.", null, Alignment.MiddleCenter) .AddFluent(x => x.Title, 0, "Title", null, Alignment.MiddleLeft); } private BitmapImage? StatusImage(CoreRow? row) { return row == null ? Quotation : string.IsNullOrWhiteSpace(row.Get(x => x.Variation)) ? Quotation : Revision; } protected override void DoReconfigure(DynamicGridOptions options) { base.DoReconfigure(options); options.FilterRows = true; options.HideDatabaseFilters = true; } }