public void GetAssessmentEventValueByAssessmentEventTransactionId_RetrievesRecord_DoesNotMatchId() { IAssessmentEventRepository assessmentEventRepository = new AssessmentEventRepository(_context, null); AssessmentEventValue assessmentEventValue = assessmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(AssessmentEventTransactionId + 1).Result; assessmentEventValue.ShouldBeNull(); }
public void GetAssessmentEventValueByAssessmentEventTransactionId_RetrievesRecords_MatchesId() { IAssessmentEventRepository assessmentEventRepository = new AssessmentEventRepository(_context, null); AssessmentEventValue assessmentEventValue = assessmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(AssessmentEventTransactionId).Result; assessmentEventValue.Attribute1.ShouldBe(AssessmentEventValueBaseYear4Asmt.Attribute1); assessmentEventValue.Attribute2.ShouldBe(AssessmentEventValueBaseYear4Asmt.Attribute2); assessmentEventValue.DynCalcStepTrackingId.ShouldBe(AssessmentEventValueBaseYear4Asmt.DynCalcStepTrackingId); assessmentEventValue.Id.ShouldBe(AssessmentEventValueBaseYear4Asmt.Id); assessmentEventValue.TaxYear.ShouldBe(AssessmentEventValueBaseYear4Asmt.TaxYear); assessmentEventValue.ValueAmount.ShouldBe(AssessmentEventValueBaseYear4Asmt.ValueAmount); assessmentEventValue.ValueTypeId.ShouldBe(AssessmentEventValueBaseYear4Asmt.ValueTypeId); assessmentEventValue.AsmtEventTranId.ShouldBe(AssessmentEventValueBaseYear4Asmt.AsmtEventTranId); assessmentEventValue.Attribute2Description.ShouldBe(AssessmentEventValueBaseYear4Asmt.Attribute2Description); }
public async Task <AssessmentEventDto> GetAsync(int id) { id.ThrowBadRequestExceptionIfInvalid("assessmentEventId"); var assesmentEventRepoModel = await _assesmentEventRepository.GetAsync(id); if (assesmentEventRepoModel == null) { throw new RecordNotFoundException( id.ToString(), typeof(Repository.Models.V1.AssessmentEvent), string.Format("Id {0} is missing.", id)); } AssessmentEventDto assessmentEventDto = assesmentEventRepoModel.ToDomain(); //Primary Base Year AssessmentEventTransactionDto assessmentEventTransaction = assessmentEventDto.AssessmentEventTransactions.OrderByDescending(aet => aet.Id).FirstOrDefault(); if (assessmentEventTransaction != null) { AssessmentEventValue assessmentEventValue = await _assesmentEventRepository.GetAssessmentEventValueByAssessmentEventTransactionIdAsync(assessmentEventTransaction.Id); assessmentEventDto.PrimaryBaseYear = assessmentEventValue?.Attribute1; assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription = assessmentEventValue?.Attribute2Description; } else { assessmentEventDto.PrimaryBaseYear = null; assessmentEventDto.PrimaryBaseYearMultipleOrSingleDescription = null; } return(assessmentEventDto); }
public async Task <AssessmentEventValue> GetAssessmentEventValueByAssessmentEventTransactionIdAsync(int assessmentEventTransactionId) { AssessmentEventValue assessmentEventValue = await _assessmentEventContext.AssessmentEventValue.SingleOrDefaultAsync( aev => aev.AsmtEventTranId == assessmentEventTransactionId && aev.ValueType.ShortDescr == "BaseYear4Asmt"); if (assessmentEventValue != null) { assessmentEventValue.Attribute2Description = (await _assessmentEventContext.SystemType .SingleOrDefaultAsync(t1 => t1.effStatus == ActiveEffectiveStatus && t1.begEffDate == (_assessmentEventContext.SystemType.Where( t2 => (t2.Id == t1.Id)) //If no rows are returned then there is nothing to max and we should throw //but Max has to handle this possibility otherwise the LINQ engine won't //convert Max to SQL //see https://github.com/aspnet/EntityFrameworkCore/issues/7901 .Max(new Func <SystemType, DateTime?>(t3 => t3.begEffDate)) ?? DateTime.MaxValue) && t1.Id == assessmentEventValue.Attribute2))?.descr.Trim(); } return(assessmentEventValue); }