示例#1
0
        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)
            {
            }
        }