Document.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. namespace InABox.Core
  3. {
  4. // We removed ISkipLoad because it seemed pointless.
  5. [UserTracking(typeof(User))]
  6. public class Document : Entity, IRemotable, IPersistent, ILicense<CoreLicense>
  7. {
  8. [TextBoxEditor]
  9. [EditorSequence(1)]
  10. public string FileName { get; set; }
  11. [CheckBoxEditor]
  12. [EditorSequence(2)]
  13. public bool Private { get; set; }
  14. [TimestampEditor(Editable = Editable.Hidden)]
  15. public DateTime TimeStamp { get; set; }
  16. [CodeEditor(Editable = Editable.Enabled)]
  17. public string CRC { get; set; }
  18. [NullEditor]
  19. public byte[] Data { get; set; }
  20. /*[DoNotSerialize]
  21. [DoNotPersist]
  22. [NullEditor]
  23. public string AsBase64
  24. {
  25. get => Data == null ? string.Empty : Convert.ToBase64String(Data);
  26. set => Data = Convert.FromBase64String(value);
  27. }*/
  28. [TimestampEditor(Editable = Editable.Hidden)]
  29. public override DateTime Created
  30. {
  31. get => base.Created;
  32. set => base.Created = value;
  33. }
  34. [TextBoxEditor(Editable = Editable.Hidden)]
  35. public override string CreatedBy
  36. {
  37. get => base.CreatedBy;
  38. set => base.CreatedBy = value;
  39. }
  40. protected override void Init()
  41. {
  42. base.Init();
  43. Data = new byte[] { };
  44. }
  45. public override string ToString()
  46. {
  47. return FileName;
  48. }
  49. }
  50. }