/// <summary>
        /// Crée une fenêtre pour l'édition
        /// </summary>
        private void EditDecision(DecisionViewModel decisionViewModel)
        {
            var viewModel = new DecisionEditViewModel(this._storage, this._domaineReference, decisionViewModel.DecisionModel);
            var newWindow = new DecisionEditWindow {
                DataContext = viewModel
            };

            viewModel.Committed += (sender, args) => newWindow.Close();
            newWindow.Show();
        }
        /// <summary>
        /// Permet de basculer une décision de "non supprimée" à "supprimée" et inversement
        /// </summary>
        private async Task ToggleDelete(DecisionViewModel decisionViewModel)
        {
            decisionViewModel.EstSupprimée.Value = !decisionViewModel.EstSupprimée.Value;

            await this._storage.StoreDecisionAsync(decisionViewModel.DecisionModel);

            MessageBox.Show(
                decisionViewModel.EstSupprimée.Value
                    ? "La décision a bien été supprimée"
                    : "La décision a bien été restaurée", "Confirmation");
        }
        private async Task RefreshDecisionList(Domaine currentDomaine)
        {
            try
            {
                this.WorkInProgress.Value = true;
                this.DecisionsList.Clear();

                var decisionModels = await this._storage.FetchAllAsync();

                foreach (DecisionModel decision in decisionModels.Where(decision =>
                                                                        decision.Domaines.Contains(currentDomaine)))
                {
                    var decisionViewModel = new DecisionViewModel(decision);
                    this.DecisionsList.Add(decisionViewModel);
                }
            }
            finally
            {
                this.WorkInProgress.Value = false;
            }
        }