| 123456789101112131415161718192021222324252627282930313233343536373839404142 | using System;using System.Linq;using InABox.Core;namespace InABox.Rpc{    public class RpcSaveParameters : IRpcCommandParameters    {        public Type Type { get; set; }        public Entity[] Items { get; set; }        public string AuditNote { get; set; }                public bool ExcludeCustomProperties { get; set; }        public string CommandName => "Save";        public RpcSaveParameters()        {            Items = Array.Empty<Entity>();            AuditNote = "";        }                public void SerializeBinary(CoreBinaryWriter writer)        {            writer.Write(Type.EntityName());            writer.WriteObjects(Type, Items, (p) => ExcludeCustomProperties ? p is StandardProperty : true);            writer.Write(AuditNote);        }                public void DeserializeBinary(CoreBinaryReader reader)        {            var type = reader.ReadString();            Type = CoreUtils.GetEntity(type);            Items = reader.ReadObjects<Entity>(Type).ToArray();            AuditNote = reader.ReadString();        }        public string FullDescription() => $"Save{Type.Name}({Items.Length}) Data=[{string.Join<Entity>(", ", Items)}]";        public string ShortDescription() => $"Save{Type.Name}({Items.Length})";    }}
 |