RpcSaveParameters.cs 884 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Linq;
  3. using InABox.Core;
  4. namespace InABox.Rpc
  5. {
  6. public class RpcSaveParameters : ISerializeBinary
  7. {
  8. public Type Type { get; set; }
  9. public Entity[] Items { get; set; }
  10. public String AuditNote { get; set; }
  11. public RpcSaveParameters()
  12. {
  13. Items = new Entity[] { };
  14. }
  15. public void SerializeBinary(CoreBinaryWriter writer)
  16. {
  17. writer.Write(Type.EntityName());
  18. writer.WriteObjects<Entity>(Type, Items);
  19. writer.Write(AuditNote);
  20. }
  21. public void DeserializeBinary(CoreBinaryReader reader)
  22. {
  23. var type = reader.ReadString();
  24. Type = CoreUtils.GetEntity(type);
  25. Items = reader.ReadObjects<Entity>(Type).ToArray();
  26. AuditNote = reader.ReadString();
  27. }
  28. }
  29. }