private void onRoomStatesChanged(RaumFeldEvent args) { // val = "uuid:29e07ad9-224f-4160-a2bc-61d17845182a=PLAYING" /> string[] stringSeparators = new string[] { "=", "," }; string[] splitValue = new string[0]; if (args.ChangedValues.TryGetValue("val", out string roomstates)) { splitValue = roomstates.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); if ((RoomViewModels?.Count() ?? 0) == 0 || (splitValue?.Count() ?? 0) == 0) { return; } IRoomViewModel room = RoomViewModels.Select(r => r).Where(r => r.Udn == splitValue[0]).FirstOrDefault(); if (room != null) { switch (splitValue[1]) { case "PLAYING": break; case "STOPPED": break; case "TRANSITIONING": break; default: break; } } } }
private void onRoomVolumesChanged(RaumFeldEvent args) { //val = "uuid:29e07ad9-224f-4160-a2bc-61d17845182a=100" /> string[] stringSeparators = new string[] { "=", "," }; string[] splitValue = new string[0]; if (args.ChangedValues.TryGetValue("val", out string volume)) { // Split delimited by another string and return all non-empty elements. splitValue = volume.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); if ((RoomViewModels?.Count() ?? 0) == 0) { return; } IRoomViewModel room = RoomViewModels.Select(r => r).Where(r => r.Udn == splitValue[0]).FirstOrDefault(); if (room != null) { room.RoomVolume = double.Parse(splitValue[1]); } } }