private void OnCalculateCommand() { if (_changedFunctionSyntax == true) { var result = _messageDialogService.showOkCancelDialog("Informacja", "Obliczana funkcja jest inna od zapisanej.\nWciśnij 'Ok' w celu zapisania funkcji i kontynuowania obliczeń lub 'Anuluj' w celu anulowania operacji.\n" + "Uwaga! Jeżeli zmieniono ilość argumentów w funkcji, ich wartość po zapisaniu będzie wynosiła : 0.0"); if (result == MessageDialogResult.Cancel) { return; } else { OnSaveCommand(); } } Task calculateMinimumTask = new Task(CalculateMinimum); calculateMinimumTask.Start(); calculateMinimumTask.ContinueWith((t) => EndCalculating()); }