using System; using System.Collections.Generic; using System.Globalization; using System.Text; namespace PlantBox.Shared.Communication.Commands { public class HistoricRequest : CommandSerializable { public override Command Command => Command.Historic; public HistoricInterval Interval { get; set; } public int Number { get; set; } public HistoricRequest() { } public HistoricRequest(HistoricInterval interval, int number) { Interval = interval; Number = number; } public override HistoricRequest Deserialize(string[] arguments) { if (arguments == null) { throw new ArgumentNullException(nameof(arguments)); } if (arguments.Length < 2) { throw new ArgumentException($"Excepted 2 arguments, got {arguments.Length}"); } Interval = (HistoricInterval)Enum.Parse(typeof(HistoricInterval), arguments[0], true); Number = int.Parse(arguments[0], CultureInfo.InvariantCulture); return this; } public override string[] Serialize() { return new[] { Interval.ToString(), Number.ToString(CultureInfo.InvariantCulture) }; } } }