Event.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Expressive;
  2. using InABox.Clients;
  3. using InABox.Core;
  4. using System;
  5. using System.Collections;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading;
  10. namespace Comal.Classes
  11. {
  12. public enum EventType
  13. {
  14. AfterSave
  15. }
  16. public class Event : Entity, IRemotable, IPersistent, ILicense<CoreLicense>
  17. {
  18. [UniqueCodeEditor]
  19. [EditorSequence(1)]
  20. public string Code { get; set; } = "";
  21. [EditorSequence(2)]
  22. public EventType EventType { get; set; }
  23. /// <summary>
  24. /// Serialised event data.
  25. /// </summary>
  26. [NullEditor]
  27. public string Data { get; set; } = "";
  28. [ExpressionEditor(null)]
  29. public string NotificationExpression { get; set; } = "";
  30. static Event()
  31. {
  32. DefaultColumns.Add<Event>(x => x.Code);
  33. DefaultColumns.Add<Event>(x => x.EventType);
  34. }
  35. }
  36. public class EventLink : EntityLink<Event>, ILicense<CoreLicense>
  37. {
  38. [CodePopupEditor(typeof(Event))]
  39. public override Guid ID { get; set; }
  40. public string Code { get; set; }
  41. }
  42. }