Пример #1
0
        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);
        }
Пример #2
0
        public static MessageBoxResult ShowDialog(string message, string title, string yesMessage, string noMessage, string cancelMessage)
        {
            var viewModel = new YesNoCancelDialogViewModel
            {
                Title         = title,
                YesMessage    = yesMessage,
                ModalContent  = message,
                NoMessage     = noMessage,
                CancelMessage = cancelMessage
            };
            var dialog = new YesNoCancelDialog
            {
                DataContext = viewModel,
                Owner       = Application.Current.MainWindow
            };

            dialog.ShowDialog();
            return(dialog.Result);
        }
Пример #3
0
 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;
     }
 }