DataEntryTag.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using InABox.Core;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using InABox.Clients;
  6. namespace Comal.Classes
  7. {
  8. public class DataEntryTagLookupGenerator : LookupGenerator<object>
  9. {
  10. public DataEntryTagLookupGenerator(object[] items) : base(items)
  11. {
  12. var classes = CoreUtils.Entities
  13. .Where(x => x.IsSubclassOf(typeof(Entity)) && CoreUtils.HasInterface<IDataEntryInstance>(x) && x.GetInterfaces().Contains(typeof(IPersistent)))
  14. .OrderBy(x => x.EntityName().Split('.').Last()).ToArray();
  15. foreach (var entity in classes)
  16. AddValue(entity.EntityName(), entity.GetCaption());
  17. }
  18. }
  19. public class DataEntryTag : Entity, IDataEntryTag, IRemotable, IPersistent, ILicense<DataEntryLicense>
  20. {
  21. [EditorSequence(1)]
  22. [TextBoxEditor]
  23. public string Name { get; set; } = "";
  24. [EditorSequence(2)]
  25. [ComboLookupEditor(typeof(DataEntryTagLookupGenerator), Visible = Visible.Default)]
  26. public string AppliesTo { get; set; } = "";
  27. }
  28. }