/// <summary> /// /// </summary> /// <param name="bs"></param> /// <returns></returns> static public VGate100Data ToVGate100Data(byte[] bs, int beginOffset) { int start = beginOffset; long ticks = BitConverter.ToInt64(bs, start); start += 8; float lwBefore = BitConverter.ToSingle(bs, start); start += 4; float lwBehind = BitConverter.ToSingle(bs, start); start += 4; float height = BitConverter.ToSingle(bs, start); start += 4; float flux = BitConverter.ToSingle(bs, start); start += 4; float sum = BitConverter.ToSingle(bs, start); start += 4; float remain = BitConverter.ToSingle(bs, start); start += 4; DateTime dt = new DateTime(ticks); VGate100Data r = new VGate100Data(); r.DT = dt; r.BeforeWL = lwBefore; r.BehindWL = lwBehind; r.Height = height; r.InstantFlux = flux; r.RemainAmount = remain; r.TotalAmount = sum; return(r); }
/// <summary> /// /// </summary> /// <param name="d"></param> /// <returns></returns> static public byte[] ToBytes(VGate100Data data) { Int64 ticks = data.DT.Ticks; float lwBefore = (float)data.BeforeWL; float lwBehind = (float)data.BehindWL; float height = (float)data.Height; float flux = (float)data.InstantFlux; float sum = (float)data.TotalAmount; float remain = (float)data.RemainAmount; MemoryStream ms = new MemoryStream(); Write(ms, BitConverter.GetBytes(ticks)); Write(ms, BitConverter.GetBytes(lwBefore)); Write(ms, BitConverter.GetBytes(lwBehind)); Write(ms, BitConverter.GetBytes(height)); Write(ms, BitConverter.GetBytes(flux)); Write(ms, BitConverter.GetBytes(sum)); Write(ms, BitConverter.GetBytes(remain)); return(ms.ToArray()); }