private void OpenOptionDialog() { OptionDialog dialog = new OptionDialog { Owner = Application.Current.MainWindow, DataContext = OptionsViewModel }; bool?dialogResult = dialog.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value) { OptionsViewModel.Save(CurrentProfile.Header); } else { OptionsViewModel.CancelDialog(CurrentProfile.Header); } }
private void OnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) { switch (propertyChangedEventArgs.PropertyName) { case CurrentProfilePropertyName: PersonnageInfo.Personnage.Periodes.Clear(); PersonnageInfo.Personnage.Relations.Clear(); if (CurrentProfile != null) { OptionsViewModel.Load(CurrentProfile.Header); Personnage personnage = journalService.ParseDatas(CurrentProfile.Header); if (personnage != null && personnage.Periodes != null) { foreach (var relation in personnage.Relations) { relation.Type = relation.Type == null ? null : OptionsViewModel.Options.TypesRelation.FirstOrDefault(tr => tr.Nom == relation.Type.Nom); PersonnageInfo.Personnage.Relations.Add(relation); } bool update = false; foreach (var periode in personnage.Periodes) { if (!update && !OptionsViewModel.Options.HideUpdate && !PersonnageInfoViewModel.VerifierPositionPeriode(periode)) { update = YesNoCancelDialogViewModel.ShowDialog("Des différences de position ont été trouvées entre ce profil et notre super base de données de ouf.\nVeux-tu mettre à jour tes données en conséquences ?", "Mise à jour, bonjour !", "Oui", "Non", null) == MessageBoxResult.Yes; if (!update) { OptionsViewModel.Options.HideUpdate = true; OptionsViewModel.Save(CurrentProfile.Header); YesNoCancelDialogViewModel.ShowDialog("C'était bien la peine d'ajouter la configuration des lieux.", "Ca fait plaisir.", "Ok TG.", null, null); YesNoCancelDialogViewModel.ShowDialog("Heureusement que je me casse pas le cul pour rien.", "Ca fait plaisir.", "Nan mais vraiment tais-toi.", null, null); } } PersonnageInfo.AddPeriode(periode, update); } } } break; } }