private async Task CloseAndDisposeViewModelAsync(bool? result)
{
var vm = ViewModel;
if (vm != null)
{
if (result.HasValue)
{
if (result.Value)
{
await vm.SaveViewModelAsync();
}
else
{
await vm.CancelViewModelAsync();
}
}
await CloseViewModelAsync(result);
}
}