DeliveryNotification.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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>, IPackable
  8. {
  9. public void Pack(BinaryWriter writer)
  10. {
  11. writer.Write(Count);
  12. foreach (var guid in this)
  13. writer.Write(guid);
  14. }
  15. public void Unpack(BinaryReader reader)
  16. {
  17. var iCount = reader.ReadInt32();
  18. for (var i = 0; i < iCount; i++)
  19. {
  20. Add(reader.ReadGuid());
  21. }
  22. }
  23. }
  24. [UserTracking(typeof(Delivery))]
  25. public class DeliveryNotification : Entity, IPersistent, IRemotable, ILicense<LogisticsLicense>
  26. {
  27. public DeliveryLink Delivery { get; set; }
  28. public Location Location { get; set; }
  29. public RetainedItemsList RetainedItems { get; set; }
  30. protected override void Init()
  31. {
  32. base.Init();
  33. RetainedItems = new RetainedItemsList();
  34. Location = new Location();
  35. Delivery = new DeliveryLink();
  36. }
  37. }
  38. }