public bool CheckModifications(bool soft) { if (ModificationStatusService.Instance.Dirty) { ModificationStatusService.Instance.Dirty = false; MessageBoxResult messageResult = YesNoCancelDialogViewModel.ShowDialog("Si tu quittes sans avoir sauvegardé ces épuisantes modifications (Ctrl + S), le monde risque de s'effondrer et les anomalies régneront sans partage sur Irydaë. Et aussi va falloir recommencer.\n\nTu veux que je sauvegarde pour toi (ça fera 5€) ?", "Attention malheureux !", "C'est fort aimable.", "5 balles ?! Crève.", "Tout bien réfléchi..."); switch (messageResult) { case MessageBoxResult.Yes: SaveDatas(); return(true); case MessageBoxResult.No: if (soft) { return(true); } MessageBoxResult innerResult = YesNoCancelDialogViewModel.ShowDialog("Et pour 2€ ?", "Allez s'teup !", "Ok, ok, sauvegarde.", "Non mais vraiment.", "Attends, j'ai oublié un truc."); switch (innerResult) { case MessageBoxResult.Yes: SaveDatas(); return(true); case MessageBoxResult.No: MessageBoxResult innerInnerResult = YesNoCancelDialogViewModel.ShowDialog("Allez, comme c'est toi je le fais gratuitement.", "Comme ça radine !", "Ah bah quand même.", "En fait je voulais vraiment pas sauvegarder.", "Ca m'a fait penser à un truc."); switch (innerInnerResult) { case MessageBoxResult.Yes: SaveDatas(); return(true); case MessageBoxResult.No: return(true); default: ModificationStatusService.Instance.Dirty = true; return(false); } default: ModificationStatusService.Instance.Dirty = true; return(false); } default: ModificationStatusService.Instance.Dirty = true; return(false); } } return(true); }
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; } }