コード例 #1
0
 public MainWindowViewModel(JournalService service, OptionsService optionService, OptionsViewModel options)
 {
     Profils                    = new ObservableCollection <ProfilViewModel>();
     journalService             = service;
     OptionsViewModel           = options;
     PersonnageInfo             = new PersonnageInfoViewModel(optionService);
     CreateProfilCommand        = new RelayCommand(CreateProfil);
     SaveDataCommand            = new RelayCommand(SaveDatas);
     GenerateHtmlCommand        = new RelayCommand(GenerateAndPreview);
     DisplayResultCommand       = new RelayCommand(GenerateAndOpen);
     DisplayOptionDialogCommand = new RelayCommand(OpenOptionDialog);
     PropertyChanged           += OnPropertyChanged;
     CurrentZoom                = 1;
     CurrentPanX                = 0;
     CurrentPanY                = 0;
 }
コード例 #2
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;
     }
 }