using System.Collections.Generic; using System.Linq; using InABox.Core; using InABox.DynamicGrid; namespace PRSServer.Forms.CustomProperties { internal class CustomPropertyGrid : DynamicDataGrid { public CustomPropertyGrid() { HiddenColumns.Add(x => x.Class); HiddenColumns.Add(x => x.Type); } protected override void DoReconfigure(DynamicGridOptions options) { base.DoReconfigure(options); options.AddRows = true; options.EditRows = true; options.DeleteRows = true; 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!"); } } }