using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Comal.Classes; using InABox.Clients; using InABox.Core; using InABox.DynamicGrid; namespace PRSDesktop.Configuration; internal class CustomPropertyGrid : DynamicDataGrid { protected override void Init() { base.Init(); HiddenColumns.Add(x => x.Class); HiddenColumns.Add(x => x.Type); } protected override void DoReconfigure(DynamicGridOptions options) { base.DoReconfigure(options); options.RecordCount = true; options.SelectColumns = true; } protected override void DoValidate(CustomProperty[] items, List errors) { base.DoValidate(items, errors); if (items.Any(x => string.IsNullOrWhiteSpace(x.Class))) errors.Add("[Class] must not be blank!"); if (items.Any(x => string.IsNullOrWhiteSpace(x.Name))) errors.Add("[Name] must not be blank!"); if (items.Any(x => string.IsNullOrWhiteSpace(x.Type))) errors.Add("[Type] must not be blank!"); } }