using System;
using System.Collections.Generic;
using System.Text;

namespace PlantBox.Shared.Communication.Commands
{
    public class PingCommand : CommandSerializable<PingCommand>
    {
        public override Command Command => Command.Ping;

        public string Message { get; set; }

        public PingCommand()
        {

        }
        public PingCommand(string message)
        {
            Message = message;
        }

        public override PingCommand Deserialize(string[] arguments)
        {
            if (arguments == null)
            {
                throw new ArgumentNullException(nameof(arguments));
            }
            if (arguments.Length < 1)
            {
                throw new ArgumentException($"Excepted at least 1 argument, got {arguments.Length}");
            }

            Message = arguments[0];

            return this;
        }

        public override string[] Serialize()
        {
            return new[]
            {
                Message
            };
        }
    }
}
