| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | using System;using InABox.Clients;using InABox.Core;namespace InABox.Rpc{    public class RpcValidateResult : IRpcCommandResult, IValidationData    {                public ValidationStatus Status { get; set; }        public Guid UserGuid { get; set; }        public string? UserID { get; set; }        public Guid SecurityID { get; set; }        public Guid SessionID { get; set; }        public string? Recipient2FA { get; set; }        public DateTime PasswordExpiration { get; set; }        public RpcValidateResult()        {            UserID = "";        }        public void SerializeBinary(CoreBinaryWriter writer)        {            writer.Write((int)Status);            writer.Write(UserGuid);            writer.Write(UserID ?? string.Empty);            writer.Write(SecurityID);            writer.Write(SessionID);            writer.Write(Recipient2FA ?? string.Empty);            writer.Write(PasswordExpiration.ToUniversalTime().Ticks);        }        public void DeserializeBinary(CoreBinaryReader reader)        {            Status = (ValidationStatus)reader.ReadInt32();            UserGuid = reader.ReadGuid();            UserID = reader.ReadString();            SecurityID = reader.ReadGuid();            SessionID = reader.ReadGuid();            Recipient2FA = reader.ReadString();            PasswordExpiration = new DateTime(reader.ReadInt64(), DateTimeKind.Utc).ToLocalTime();        }        public string FullDescription() => Status.ToString();    }}
 |