public async void OnButtonClick(object sender, EventArgs args) { if (!viewModel.IsEnabled) { return; } switch (viewModel.Job.Status) { case JobStatus.Created: { await _apiService.StartJob(viewModel.Job.JobId); break; } case JobStatus.InProgress: { await _apiService.FinishJob(viewModel.Job.JobId); break; } } var updatedJob = await _apiService.GetJob(viewModel.Job.JobId); viewModel.Job.Status = updatedJob.Status; viewModel.Job.StartDate = updatedJob.StartDate; viewModel.Job.FinishDate = updatedJob.FinishDate; viewModel.ButtonText = viewModel.GetButtonText(); viewModel.IsEnabled = updatedJob.Status != JobStatus.Finished; try { Refresh(); } catch (Exception ex) { } }