using System;
using InABox.Core;
namespace InABox.Rpc
{
public class RpcDeleteParameters : IRpcCommandParameters
{
///
/// The type to be deleted; guaranteed to be an .
///
public Type Type { get; set; }
public Guid[] IDs { get; set; }
public string AuditNote { get; set; }
public string CommandName => "Delete";
public void SerializeBinary(CoreBinaryWriter writer)
{
writer.Write(Type.EntityName());
writer.WriteBinaryValue(IDs);
writer.Write(AuditNote);
}
public void DeserializeBinary(CoreBinaryReader reader)
{
Type = CoreUtils.GetEntity(reader.ReadString());
IDs = reader.ReadBinaryValue();
AuditNote = reader.ReadString();
}
public string FullDescription() => $"Delete{Type.Name}({IDs.Length}) IDs=[{string.Join(',', IDs)}]";
public string ShortDescription() => $"Delete{Type.Name}({IDs.Length})";
}
}