Document.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. FileName = "";
  45. CRC = "";
  46. }
  47. public override string ToString()
  48. {
  49. return FileName;
  50. }
  51. }
  52. }