public async Task <IActionResult> PostConfirmation(ConfirmationCommand command) => await _mediator.SendAndMapResponse( command, success => RedirectToAction( nameof(ApprenticeshipQAController.ProviderSelected), "ApprenticeshipQA", new { providerId = _journeyInstance.State.ProviderId }));
public async Task <Success> Handle(ConfirmationCommand request, CancellationToken cancellationToken) { if (!_journeyInstance.State.GotAssessmentOutcome) { throw new InvalidStateException(); } var apprenticeshipId = _journeyInstance.State.ApprenticeshipId; var providerId = _journeyInstance.State.ProviderId; var currentUserId = _currentUserProvider.GetCurrentUser().UserId; var now = _clock.UtcNow; var submission = await GetSubmission(); var overallPassed = _journeyInstance.State.IsSubmissionPassed(submission.ProviderAssessmentPassed); await _sqlQueryDispatcher.ExecuteQuery( new SetProviderApprenticeshipQAStatus() { ProviderId = providerId, ApprenticeshipQAStatus = ApprenticeshipQAStatus.InProgress }); await _sqlQueryDispatcher.ExecuteQuery( new CreateApprenticeshipQAApprenticeshipAssessment() { ApprenticeshipQASubmissionId = submission.ApprenticeshipQASubmissionId, ApprenticeshipId = apprenticeshipId, AssessedByUserId = currentUserId, AssessedOn = now, ComplianceComments = _journeyInstance.State.ComplianceComments, ComplianceFailedReasons = _journeyInstance.State.ComplianceFailedReasons.Value, CompliancePassed = _journeyInstance.State.CompliancePassed.Value, Passed = _journeyInstance.State.IsApprenticeshipAssessmentPassed(), StyleComments = _journeyInstance.State.StyleComments, StyleFailedReasons = _journeyInstance.State.StyleFailedReasons.Value, StylePassed = _journeyInstance.State.StylePassed.Value }); await _sqlQueryDispatcher.ExecuteQuery( new UpdateApprenticeshipQASubmission() { ApprenticeshipQASubmissionId = submission.ApprenticeshipQASubmissionId, Passed = overallPassed, LastAssessedByUserId = currentUserId, LastAssessedOn = now, ProviderAssessmentPassed = submission.ProviderAssessmentPassed, ApprenticeshipAssessmentsPassed = _journeyInstance.State.IsApprenticeshipAssessmentPassed() }); await _sqlQueryDispatcher.ExecuteQuery( new SetProviderApprenticeshipQAStatus() { ProviderId = _journeyInstance.State.ProviderId, ApprenticeshipQAStatus = ApprenticeshipQAStatus.InProgress }); return(new Success()); }
/// <summary> /// コンストラクタ /// </summary> public MainWindowViewModel() { ConfirmationCommand.Subscribe(ConfirmationMethod).AddTo(Disposable); InformationCommand.Subscribe(_ => ShowInformationDialog("メッセージ", "タイトル", MessageBoxImage.Error)).AddTo(Disposable); OpenFileCommand.Subscribe(OpenFileMethod).AddTo(Disposable); SaveFileCommand.Subscribe(SaveFileMethod).AddTo(Disposable); ClosedCommand.Subscribe(Close).AddTo(Disposable); }
Guid IRestrictQAStatus <ConfirmationCommand> .GetProviderId(ConfirmationCommand request) => _journeyInstance.State.ProviderId;