Exemple #1
0
        private Task <bool> SetCurrentModelAsync(MainContentViewModelBase viewModel)
        {
            if (CurrentModel == viewModel)
            {
                return(TaskConstants.BooleanFalse);
            }

            Task <bool> allowChangeTask = CurrentModel != null
                                     ? CurrentModel.OnContentChange()
                                     : TaskConstants.BooleanTrue;

            if (allowChangeTask.IsCompleted && allowChangeTask.Result)
            {
                CurrentModel = viewModel;
            }
            else
            {
                SetCurrentModelAsync(viewModel, allowChangeTask);
            }

            return(allowChangeTask);
        }