private void ExecuteMoveDownCommand() { VoiceViewModel[] sortedSelectedVoices = SelectedVoices.OrderByDescending(voice => voice.Index).ToArray(); foreach (VoiceViewModel voice in sortedSelectedVoices) { Voices.Move(voice.Index, voice.Index + 1); VoiceViewModel voiceBelow = Voices.Single(v => v.Index == voice.Index + 1); if (voice.LiveSetIndex < 8) { voice.LiveSetIndex++; } else { voice.LiveSetIndex = 1; voice.LiveSetPage++; } if (voiceBelow.LiveSetIndex > 1) { voiceBelow.LiveSetIndex--; } else { voiceBelow.LiveSetIndex = 8; voiceBelow.LiveSetPage--; } } }