private void NotifyUserMessage(NotifyUserMessageEventArgs e) { if (_userSettings.IsMessageIgnored(e.MessageKey)) { return; } var message = string.Format(Resx.ResourceManager.GetString(e.MessageKey), e.MessageArgs); var i = UserMessages.IndexOf(m => m.Message == message); if (i == -1) { if (UserMessages.First() is NoMessagesViewModel) { UserMessages.RemoveAt(0); } UserMessages.Insert(0, new UserMessageViewModel(message, e)); if (_userSettings.DisableNotificationSound) { return; } var notificationSound = new SoundPlayer(new MemoryStream(ResourceManager.GetContentByteArray("/Resources/Sounds/notification.wav"))); notificationSound.Play(); } else if (i != 0) { UserMessages.Move(i, 0); } }