DeliveryNotification.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using InABox.Core;
  5. namespace Comal.Classes
  6. {
  7. public class RetainedItemsList : List<Guid>
  8. {
  9. public void Pack(BinaryWriter writer)
  10. {
  11. writer.Write(Count);
  12. foreach (var guid in this)
  13. writer.Write(guid.ToByteArray());
  14. }
  15. public static RetainedItemsList Unpack(BinaryReader reader)
  16. {
  17. var results = new RetainedItemsList();
  18. var iCount = reader.ReadInt32();
  19. for (var i = 0; i < iCount; i++)
  20. {
  21. var guid = new Guid(reader.ReadBytes(16));
  22. results.Add(guid);
  23. }
  24. return results;
  25. }
  26. }
  27. [UserTracking(typeof(Delivery))]
  28. public class DeliveryNotification : Entity, IPersistent, IRemotable, ILicense<LogisticsLicense>
  29. {
  30. public DeliveryLink Delivery { get; set; }
  31. public Location Location { get; set; }
  32. public RetainedItemsList RetainedItems { get; set; }
  33. protected override void Init()
  34. {
  35. base.Init();
  36. RetainedItems = new RetainedItemsList();
  37. Location = new Location();
  38. Delivery = new DeliveryLink();
  39. }
  40. }
  41. }