public async Task UpdateDataLockTriageStatus(long dataLockEventId, TriageStatus triageStatus) { await WithTransaction(async (connection, trans) => { await _dataLockTransactions.UpdateDataLockTriageStatus(connection, trans, dataLockEventId, triageStatus); }); }
public DetailsViewModelMapperFixture WithUnResolvedDataLocksInTriage(TriageStatus triageStatus) { GetDataLocksResponse.DataLocks = new List <GetDataLocksResponse.DataLock> { new GetDataLocksResponse.DataLock { Id = 1, TriageStatus = triageStatus, DataLockStatus = Status.Fail, IsResolved = false } }; return(this); }
private void AssertValidTriageStatus(TriageStatus triageStatus, DataLockStatus dataLockStatus) { if (triageStatus == TriageStatus.Change) { if (!(dataLockStatus.ErrorCode.HasFlag(DataLockErrorCode.Dlock07) || dataLockStatus.ErrorCode.HasFlag(DataLockErrorCode.Dlock09))) { throw new ValidationException($"Data lock {dataLockStatus.DataLockEventId} with error code {dataLockStatus.ErrorCode} cannot be triaged as {triageStatus}"); } } if (triageStatus == TriageStatus.Restart) { if (!(dataLockStatus.ErrorCode.HasFlag(DataLockErrorCode.Dlock03) || dataLockStatus.ErrorCode.HasFlag(DataLockErrorCode.Dlock04) || dataLockStatus.ErrorCode.HasFlag(DataLockErrorCode.Dlock05) || dataLockStatus.ErrorCode.HasFlag(DataLockErrorCode.Dlock06) )) { throw new ValidationException($"Data lock {dataLockStatus.DataLockEventId} with error code {dataLockStatus.ErrorCode} cannot be triaged as {triageStatus}"); } } }
public async Task <long> UpdateDataLockTriageStatus(IEnumerable <long> dataLockEventIds, TriageStatus triageStatus) { return(await WithTransaction(async (connection, trans) => { foreach (var id in dataLockEventIds) { await _dataLockTransactions.UpdateDataLockTriageStatus(connection, trans, id, triageStatus); } return 0; })); }
public async Task When_DataLocks_AreUnresolvedButInTriage_Then_DataLockStatus_IsAwaitingTriage(TriageStatus triageStatus) { _fixture.WithUnResolvedDataLocksInTriage(triageStatus); await _fixture.Map(); Assert.AreEqual(DetailsViewModel.DataLockSummaryStatus.AwaitingTriage, _fixture.Result.DataLockStatus); }
public async Task WhenThereAreDataLocksInTriage_ThenAllowEditApprenticeIsFalse(TriageStatus triageStatus) { _fixture.WithUnResolvedDataLocksInTriage(triageStatus); await _fixture.Map(); Assert.IsFalse(_fixture.Result.AllowEditApprentice); }
public async Task <long> UpdateDataLockTriageStatus(IDbConnection connection, IDbTransaction trans, long dataLockEventId, TriageStatus triageStatus) { var parameters = new DynamicParameters(); parameters.Add("@DataLockEventId", dataLockEventId); parameters.Add("@TriageStatus", triageStatus); return(await connection.ExecuteAsync( sql : $"[dbo].[UpdateDataLockTriageStatus]", param : parameters, transaction : trans, commandType : CommandType.StoredProcedure)); }
public DataLockRequestChangesRequestToViewModelMapperTestsFixture WithCourseAndPriceDataLock(DateTime IlrEffectiveFromDate, decimal totalCost, string ilrTrainingCourseCode, TriageStatus triageStatus, DataLockErrorCode courseDataLockErrorCode) { DataLocksWithCourseMismatch.Add( new DataLock { IsResolved = false, DataLockStatus = Status.Fail, IlrEffectiveFromDate = IlrEffectiveFromDate, IlrTotalCost = totalCost, IlrTrainingCourseCode = ilrTrainingCourseCode, TriageStatus = triageStatus, ErrorCode = courseDataLockErrorCode | DataLockErrorCode.Dlock07 }); _dataLockSummariesResponse = AutoFixture.Build <GetDataLockSummariesResponse>() .With(x => x.DataLocksWithCourseMismatch, DataLocksWithCourseMismatch) .With(x => x.DataLocksWithOnlyPriceMismatch, DataLocksWithOnlyPriceMismatch) .Create(); _mockCommitmentsApiClient.Setup(r => r.GetApprenticeshipDatalockSummariesStatus(It.IsAny <long>(), CancellationToken.None)) .ReturnsAsync(_dataLockSummariesResponse); return(this); }
public async Task TriageMultiplePriceDataLocks(long providerId, string hashedApprenticeshipId, string currentUserId, TriageStatus triageStatus) { var apprenticeshipId = _hashingService.DecodeValue(hashedApprenticeshipId); _logger.Info($"Updating price data locks to triage {triageStatus} for apprenticeship: {apprenticeshipId}", apprenticeshipId); await _mediator.Send(new TriageApprenticeshipDataLocksCommand { ProviderId = providerId, ApprenticeshipId = apprenticeshipId, TriageStatus = triageStatus, UserId = currentUserId }); }