private void HandleTestData(string username, List <byte> bytes) { if (this.testDataWindow != null) { //for (int i = 0; i < bytes.Count(); i += 21) //{ // int value = bytes[i + 1]; // DateTime time = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray())); // switch ((Message.ValueId)bytes[i]) // { // case Message.ValueId.HEARTRATE: // { // this.testDataWindow.AddHeartRate((value, time)); // break; // } // case Message.ValueId.DISTANCE: // { // this.testDataWindow.AddDistance((value, time)); // break; // } // case Message.ValueId.SPEED: // { // this.testDataWindow.AddSpeed((value, time)); // break; // } // case Message.ValueId.CYCLE_RHYTHM: // { // this.testDataWindow.AddCycleRyhthm((value, time)); // break; // } // } //} int skip = 21; for (int i = 0; i < bytes.Count; i += skip) { Message.ValueId valueType = (Message.ValueId)bytes[i]; switch (valueType) { case Message.ValueId.HEARTRATE: { skip = 21; int value = bytes[i + 1]; DateTime time = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray())); this.testDataWindow.AddHeartRate((heartRate: value, time: time)); break; } case Message.ValueId.DISTANCE: { skip = bytes[i + 1] + 21; int value = int.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, bytes[i + 1]).ToArray())); DateTime time = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + bytes[i + 1] + 2, 19).ToArray())); this.testDataWindow.AddDistance((distance: value, time: time)); break; } case Message.ValueId.SPEED: { skip = 21; int value = bytes[i + 1]; DateTime time = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray())); this.testDataWindow.AddSpeed((speed: value, time: time)); break; } case Message.ValueId.CYCLE_RHYTHM: { skip = 21; int value = bytes[i + 1]; DateTime time = DateTime.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, 19).ToArray())); this.testDataWindow.AddCycleRyhthm((cycleRhythm: value, time: time)); break; } } } } }
private void HandleBikeData(byte[] bikeData, UserAccount user) { List <byte> bikeDataBytes = new List <byte>(); bikeDataBytes.Add((byte)user.Username.Length); bikeDataBytes.AddRange(Encoding.UTF8.GetBytes(user.Username)); bikeDataBytes.AddRange(bikeData); BroadcastToSpecialists(new Message(Message.ID.BIKEDATA, Message.State.OK, bikeDataBytes.ToArray())); ÄstrandTest astrandTest = this.currentTests[user]; List <byte> bytes = new List <byte>(bikeData); //for (int i = 0; i < bytes.Count; i += 2) //{ // Message.ValueId valueType = (Message.ValueId)bytes[i]; // int value = bytes[i + 1]; // DateTime dateTime = DateTime.Now; // switch (valueType) // { // case Message.ValueId.HEARTRATE: // { // astrandTest.HeartrateValues.Add((heartRate: value, time: dateTime)); // break; // } // case Message.ValueId.DISTANCE: // { // astrandTest.DistanceValues.Add((distance: value, time: dateTime)); // break; // } // case Message.ValueId.SPEED: // { // astrandTest.SpeedValues.Add((speed: value, time: dateTime)); // break; // } // case Message.ValueId.CYCLE_RHYTHM: // { // astrandTest.CycleRhythmValues.Add((cycleRhythm: value, time: dateTime)); // break; // } // } //} int skip = 2; for (int i = 0; i < bytes.Count; i += skip) { Message.ValueId valueType = (Message.ValueId)bytes[i]; DateTime dateTime = DateTime.Now; switch (valueType) { case Message.ValueId.HEARTRATE: { skip = 2; int value = bytes[i + 1]; astrandTest.HeartrateValues.Add((heartRate: value, time: dateTime)); break; } case Message.ValueId.DISTANCE: { skip = 2 + bytes[i + 1]; int value = int.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, bytes[i + 1]).ToArray())); astrandTest.DistanceValues.Add((distance: value, time: dateTime)); break; } case Message.ValueId.SPEED: { skip = 2; int value = bytes[i + 1]; astrandTest.SpeedValues.Add((speed: value, time: dateTime)); break; } case Message.ValueId.CYCLE_RHYTHM: { skip = 2; int value = bytes[i + 1]; astrandTest.CycleRhythmValues.Add((cycleRhythm: value, time: dateTime)); break; } } } }
public void HandleBikeData(List <byte> bytes) { //for (int i = 0; i < bytes.Count; i += 2) //{ // int value = bytes[i + 1]; // switch ((Message.ValueId)bytes[i]) // { // case Message.ValueId.HEARTRATE: // { // this.TestDataControl.Heartrate = value; // this.TestDataControl.UpdateChart(value); // break; // } // case Message.ValueId.DISTANCE: // { // this.TestDataControl.Distance = value; // break; // } // case Message.ValueId.SPEED: // { // this.TestDataControl.Speed = value; // break; // } // case Message.ValueId.CYCLE_RHYTHM: // { // this.TestDataControl.CycleRhythm = value; // break; // } // } //} int skip = 2; for (int i = 0; i < bytes.Count; i += skip) { Message.ValueId valueType = (Message.ValueId)bytes[i]; switch (valueType) { case Message.ValueId.HEARTRATE: { skip = 2; int value = bytes[i + 1]; this.TestDataControl.Heartrate = value; this.TestDataControl.UpdateChart(value); break; } case Message.ValueId.DISTANCE: { skip = 2 + bytes[i + 1]; int value = int.Parse(Encoding.UTF8.GetString(bytes.GetRange(i + 2, bytes[i + 1]).ToArray())); this.TestDataControl.Distance = value; break; } case Message.ValueId.SPEED: { skip = 2; int value = bytes[i + 1]; this.TestDataControl.Speed = value; break; } case Message.ValueId.CYCLE_RHYTHM: { skip = 2; int value = bytes[i + 1]; this.TestDataControl.CycleRhythm = value; break; } } } }