/// <summary> /// FileVersion.Current - 104 bytes /// </summary> /// <returns></returns> public byte[] ToBytes() { var bytes = new List <byte>(); switch (FileVersion) { case FileVersion.Current: bytes.AddRange(Label.ToBytes(9)); for (var i = 0; i < 14; ++i) { var input = Inputs.ElementAtOrDefault(i) ?? new NetPoint(); input.FileVersion = FileVersion; bytes.AddRange(input.ToBytes()); } for (var i = 0; i < 14; ++i) { var range = Ranges.ElementAtOrDefault(i); bytes.Add((byte)range); } bytes.Add((byte)Second); bytes.Add((byte)Minute); bytes.Add((byte)Hour); bytes.Add((byte)MaxTimeLength); bytes.Add((byte)InputsCount); bytes.Add((byte)AnalogInputsCount); bytes.Add((byte)Status); bytes.AddRange(((int)NextSampleTime).ToBytes()); break; default: throw new FileVersionNotImplementedException(FileVersion); } CheckSize(bytes.Count, GetSize(FileVersion)); return(bytes.ToArray()); }