public void RemoveCartridge(Cartridge cartridge)
        {
            var relevantRifles = riflesModel.RiflesByCartridgeName(cartridge.Name).ToList();

            if (relevantRifles.Any())
            {
                if (MessageBox.Show($"Deleting {cartridge.Name} will affect {relevantRifles.Count} stored rifle(s). Continue?", "Query",
                                    MessageBoxButton.YesNo,
                                    MessageBoxImage.Warning) == MessageBoxResult.No)
                {
                    return;
                }
            }

            ammoModel.Delete(cartridge);
            NotifyOfPropertyChange(() => Cartridges);
            var appEvent = new AppEvent
            {
                Type = Constants.CartridgeRemovedMessage,
            };

            appEvent.Parameters.Add(Constants.ChangedItemName, cartridge.Name);

            eventAggregator.PublishOnBackgroundThread(appEvent);
        }
        public override void Handle(AppEvent message)
        {
            base.Handle(message);

            if (message.Type == Constants.ScopeRemovedMessage)
            {
                var removedScopeName = (string)message.Parameters[Constants.ChangedItemName];
                var relevantRifles   = riflesModel.RiflesByScopeName(removedScopeName).ToArray();

                foreach (var rifle in relevantRifles)
                {
                    rifle.IsUsingNonListedScope = true;
                }

                riflesModel.InsertOrUpdate(relevantRifles);
            }

            if (message.Type == Constants.CartridgeRemovedMessage)
            {
                var removedCartridgeName = (string)message.Parameters[Constants.ChangedItemName];
                var relevantRifles       = riflesModel.RiflesByCartridgeName(removedCartridgeName).ToArray();

                foreach (var rifle in relevantRifles)
                {
                    rifle.IsUsingNonListedAmmo = true;
                }

                riflesModel.InsertOrUpdate(relevantRifles);
            }
        }