public ChatCollectServiceCreationPresetControlViewModel(IRegionManager regionManager, Model.TVTComment model) { this.regionManager = regionManager; this.model = model; ChatCollectServiceEntries = model.ChatServices.SelectMany(x => x.ChatCollectServiceEntries).Select(x => new SelectableViewModel <Model.ChatCollectServiceEntry.IChatCollectServiceEntry>(x)).ToList(); foreach (var entry in ChatCollectServiceEntries) { entry.PropertyChanged += ChatCollectServiceEntryListItemChanged; } ChatCollectServiceEntries.First().IsSelected = true; OkCommand = new DelegateCommand(() => { var entry = ChatCollectServiceEntries.FirstOrDefault(x => x.IsSelected)?.Value; var option = OptionRegionViewModel?.GetChatCollectServiceCreationOption(); if (string.IsNullOrWhiteSpace(PresetName.Value) || entry == null || option == null) { return; } confirmation.ChatCollectServiceCreationPreset = new Model.ChatCollectServiceCreationPreset(PresetName.Value, entry, option); confirmation.Confirmed = true; FinishInteraction(); }); CancelCommand = new DelegateCommand(() => { confirmation.Confirmed = false; FinishInteraction(); }); }
private void serviceEntryChanged() { var entry = ChatCollectServiceEntries.FirstOrDefault(x => x.IsSelected)?.Value; string creationOptionControl = entry switch { Model.ChatCollectServiceEntry.NichanChatCollectServiceEntry _ => "NichanChatCollectServiceCreationOptionControl", Model.ChatCollectServiceEntry.FileChatCollectServiceEntry _ => "FileChatCollectServiceCreationOptionControl", Model.ChatCollectServiceEntry.NiconicoLiveChatCollectServiceEntry _ => "NiconicoLiveChatCollectServiceCreationOptionControl", _ => "", }; regionManager.RequestNavigate("ChatCollectServiceCreationSettingsControl_CreationOptionRegion", creationOptionControl); }